diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2017-04-14 12:20:08 -0700 |
---|---|---|
committer | Jason Ekstrand <jason.ekstrand@intel.com> | 2017-04-14 12:29:46 -0700 |
commit | 74e28ea4fd1f7df2aee195417917842af3991cdb (patch) | |
tree | 0189e24736fba4ca6410c707e2aba84e5aa6a282 | |
parent | cb7eae747be81b4572d3980c953fea01462dd6de (diff) |
framework: Add a helper for requiring an extension
-rw-r--r-- | include/tapi/t_result.h | 2 | ||||
-rw-r--r-- | src/framework/test/t_result.c | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/include/tapi/t_result.h b/include/tapi/t_result.h index 3858da5..71bc980 100644 --- a/include/tapi/t_result.h +++ b/include/tapi/t_result.h @@ -59,6 +59,8 @@ noreturn void t_pass(void); #define t_assertf(cond, format, ...) __t_assertf(__FILE__, __LINE__, (cond), #cond, format, ##__VA_ARGS__) #define t_assertfv(cond, format, va) __t_assertfv(__FILE__, __LINE__, (cond), #cond, format, va) +void t_require_ext(const char *extension_name); + noreturn void __t_skip(const char *file, int line); noreturn void __t_skipf(const char *file, int line, const char *format, ...) printflike(3, 4); noreturn void __t_skipfv(const char *file, int line, const char *format, va_list va); diff --git a/src/framework/test/t_result.c b/src/framework/test/t_result.c index 949db25..6aae081 100644 --- a/src/framework/test/t_result.c +++ b/src/framework/test/t_result.c @@ -186,6 +186,24 @@ __t_assertfv(const char *file, int line, bool cond, const char *cond_string, t_end(TEST_RESULT_FAIL); } +void +t_require_ext(const char *name) +{ + GET_CURRENT_TEST(t); + + for (uint32_t i = 0; i < t->vk.instance_extension_count; i++) { + if (!strcmp(name, t->vk.instance_extension_props[i].extensionName)) + return; + } + + for (uint32_t i = 0; i < t->vk.device_extension_count; i++) { + if (!strcmp(name, t->vk.device_extension_props[i].extensionName)) + return; + } + + t_skip(); +} + static bool t_compare_color_image(void) { |