Skip to content

Commit 7e1c90b

Browse files
committed
Address feedback: CTS environment error handling.
1 parent f8d6182 commit 7e1c90b

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

test/conformance/source/environment.cpp

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,21 @@ uur::PlatformEnvironment::PlatformEnvironment(int argc, char **argv)
4545
instance = this;
4646

4747
ur_loader_config_handle_t config;
48-
urLoaderConfigCreate(&config);
49-
urLoaderConfigEnableLayer(config, "UR_LAYER_FULL_VALIDATION");
48+
if (urLoaderConfigCreate(&config) == UR_RESULT_SUCCESS) {
49+
if (urLoaderConfigEnableLayer(config, "UR_LAYER_FULL_VALIDATION")) {
50+
urLoaderConfigRelease(config);
51+
error = "Failed to enable validation layer";
52+
return;
53+
}
54+
} else {
55+
error = "Failed to create loader config handle";
56+
return;
57+
}
5058

5159
ur_device_init_flags_t device_flags = 0;
52-
switch (urInit(device_flags, config)) {
60+
auto initResult = urInit(device_flags, config);
61+
auto configReleaseResult = urLoaderConfigRelease(config);
62+
switch (initResult) {
5363
case UR_RESULT_SUCCESS:
5464
break;
5565
case UR_RESULT_ERROR_UNINITIALIZED:
@@ -59,7 +69,11 @@ uur::PlatformEnvironment::PlatformEnvironment(int argc, char **argv)
5969
error = "urInit() failed";
6070
return;
6171
}
62-
urLoaderConfigRelease(config);
72+
73+
if (configReleaseResult) {
74+
error = "Failed to destroy loader config handle";
75+
return;
76+
}
6377

6478
uint32_t count = 0;
6579
if (urPlatformGet(0, nullptr, &count)) {

0 commit comments

Comments
 (0)