From db7a64f76f863a688b88a970826c44ea76a1544e Mon Sep 17 00:00:00 2001 From: Aaron Greig Date: Tue, 18 Jul 2023 15:15:12 +0100 Subject: [PATCH] Address feedback: CTS environment error handling. --- test/conformance/source/environment.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/test/conformance/source/environment.cpp b/test/conformance/source/environment.cpp index af545f4c11..b05fef5d98 100644 --- a/test/conformance/source/environment.cpp +++ b/test/conformance/source/environment.cpp @@ -45,11 +45,20 @@ uur::PlatformEnvironment::PlatformEnvironment(int argc, char **argv) instance = this; ur_loader_config_handle_t config; - urLoaderConfigCreate(&config); - urLoaderConfigEnableLayer(config, "UR_LAYER_FULL_VALIDATION"); + if (urLoaderConfigCreate(&config) == UR_RESULT_SUCCESS) { + if (urLoaderConfigEnableLayer(config, "UR_LAYER_FULL_VALIDATION")) { + error = "Failed to enable validation layer"; + return; + } + } else { + error = "Failed to create loader config handle"; + return; + } ur_device_init_flags_t device_flags = 0; - switch (urInit(device_flags, config)) { + auto initResult = urInit(device_flags, config); + auto configReleaseResult = urLoaderConfigRelease(config); + switch (initResult) { case UR_RESULT_SUCCESS: break; case UR_RESULT_ERROR_UNINITIALIZED: @@ -59,7 +68,11 @@ uur::PlatformEnvironment::PlatformEnvironment(int argc, char **argv) error = "urInit() failed"; return; } - urLoaderConfigRelease(config); + + if (configReleaseResult) { + error = "Failed to destroy loader config handle"; + return; + } uint32_t count = 0; if (urPlatformGet(0, nullptr, &count)) {