Set minimum expected OpenCL version for the test. (#674)

This commit is contained in:
Grzegorz Wawiorko
2020-03-11 19:14:16 +01:00
committed by GitHub
parent 8a00f4eced
commit db570f70e5
5 changed files with 41 additions and 5 deletions

View File

@@ -105,6 +105,16 @@ test_definition test_list[] = {
const int test_num = ARRAY_SIZE( test_list ); const int test_num = ARRAY_SIZE( test_list );
test_status InitCL(cl_device_id device) {
auto version = get_device_cl_version(device);
auto expected_min_version = Version(2, 0);
if (version < expected_min_version)
{
version_expected_info("Test", expected_min_version.to_string().c_str(), version.to_string().c_str());
return TEST_SKIP;
}
}
int main(int argc, const char *argv[]) int main(int argc, const char *argv[])
{ {
bool noCert = false; bool noCert = false;
@@ -186,5 +196,5 @@ int main(int argc, const char *argv[])
log_info("*** Use of this mode is not sufficient to verify correctness. ***\n"); log_info("*** Use of this mode is not sufficient to verify correctness. ***\n");
log_info("*** ***\n"); log_info("*** ***\n");
} }
return runTestHarness(argc, argv, test_num, test_list, false, false, 0); return runTestHarnessWithCheck(argc, argv, test_num, test_list, false, false, InitCL);
} }

View File

@@ -87,7 +87,7 @@ test_definition test_list[] = {
ADD_TEST( program_binary_type ), ADD_TEST( program_binary_type ),
ADD_TEST( compile_and_link_status_options_log ), ADD_TEST( compile_and_link_status_options_log ),
ADD_TEST( pragma_unroll ), ADD_TEST_VERSION( pragma_unroll, Version(2, 0) ),
}; };
const int test_num = ARRAY_SIZE( test_list ); const int test_num = ARRAY_SIZE( test_list );

View File

@@ -67,6 +67,16 @@ test_definition test_list[] = {
const int test_num = ARRAY_SIZE( test_list ); const int test_num = ARRAY_SIZE( test_list );
test_status InitCL(cl_device_id device) {
auto version = get_device_cl_version(device);
auto expected_min_version = Version(2, 0);
if (version < expected_min_version)
{
version_expected_info("Test", expected_min_version.to_string().c_str(), version.to_string().c_str());
return TEST_SKIP;
}
}
/* /*
Generic Address Space Generic Address Space
Tests for unnamed generic address space. This feature allows developers to create single generic functions Tests for unnamed generic address space. This feature allows developers to create single generic functions
@@ -75,5 +85,5 @@ const int test_num = ARRAY_SIZE( test_list );
int main(int argc, const char *argv[]) int main(int argc, const char *argv[])
{ {
return runTestHarness(argc, argv, test_num, test_list, false, false, 0); return runTestHarnessWithCheck(argc, argv, test_num, test_list, false, false, InitCL);
} }

View File

@@ -38,6 +38,16 @@ test_definition test_list[] = {
const int test_num = ARRAY_SIZE( test_list ); const int test_num = ARRAY_SIZE( test_list );
test_status InitCL(cl_device_id device) {
auto version = get_device_cl_version(device);
auto expected_min_version = Version(2, 0);
if (version < expected_min_version)
{
version_expected_info("Test", expected_min_version.to_string().c_str(), version.to_string().c_str());
return TEST_SKIP;
}
}
int main(int argc, const char *argv[]) int main(int argc, const char *argv[])
{ {
typedef std::vector<const char *> ArgsVector; typedef std::vector<const char *> ArgsVector;
@@ -56,6 +66,6 @@ int main(int argc, const char *argv[])
PrimeNumbers::generatePrimeNumbers(100000); PrimeNumbers::generatePrimeNumbers(100000);
return runTestHarness(static_cast<int>(programArgs.size()), &programArgs.front(), test_num, test_list, false, false, 0 ); return runTestHarnessWithCheck(static_cast<int>(programArgs.size()), &programArgs.front(), test_num, test_list, false, false, InitCL);
} }

View File

@@ -43,8 +43,14 @@ test_definition test_list[] = {
const int test_num = ARRAY_SIZE(test_list); const int test_num = ARRAY_SIZE(test_list);
test_status InitCL(cl_device_id device) { test_status InitCL(cl_device_id device) {
auto version = get_device_cl_version(device);
auto expected_min_version = Version(2, 0);
if (version < expected_min_version)
{
version_expected_info("Test", expected_min_version.to_string().c_str(), version.to_string().c_str());
return TEST_SKIP;
}
#ifdef CL_EXPERIMENTAL #ifdef CL_EXPERIMENTAL
auto version = get_device_cl_version(device);
if(version > Version(2,2)) { if(version > Version(2,2)) {
int error; int error;