From e882a3dc5e48f3ed6221de7b0c7bf16263b3108d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20Jastrz=C4=99bski?=
Date: Tue, 7 Mar 2023 18:00:16 +0100
Subject: [PATCH] Move semaphore tests from api to extensions (#1646)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Move semaphore tests from api to extensions
Moved cl_khr_semaphore tests from core api tests to a separate
extension test as suggested in
https://github.com/KhronosGroup/OpenCL-CTS/issues/1588 .
Signed-off-by: Paweł Jastrzębski
* Fix clang-format
Signed-off-by: Paweł Jastrzębski
* Remove unneeded comment.
Signed-off-by: Paweł Jastrzębski
---------
Signed-off-by: Paweł Jastrzębski
---
test_conformance/api/CMakeLists.txt | 1 -
test_conformance/api/main.cpp | 14 -----
test_conformance/api/procs.h | 37 ------------
test_conformance/extensions/CMakeLists.txt | 1 +
.../cl_khr_semaphore/CMakeLists.txt | 8 +++
.../extensions/cl_khr_semaphore/main.cpp | 49 ++++++++++++++++
.../extensions/cl_khr_semaphore/procs.h | 57 +++++++++++++++++++
.../cl_khr_semaphore}/test_semaphores.cpp | 1 -
8 files changed, 115 insertions(+), 53 deletions(-)
create mode 100644 test_conformance/extensions/cl_khr_semaphore/CMakeLists.txt
create mode 100644 test_conformance/extensions/cl_khr_semaphore/main.cpp
create mode 100644 test_conformance/extensions/cl_khr_semaphore/procs.h
rename test_conformance/{api => extensions/cl_khr_semaphore}/test_semaphores.cpp (99%)
diff --git a/test_conformance/api/CMakeLists.txt b/test_conformance/api/CMakeLists.txt
index 473e6ee9..d3e6c6a7 100644
--- a/test_conformance/api/CMakeLists.txt
+++ b/test_conformance/api/CMakeLists.txt
@@ -35,7 +35,6 @@ set(${MODULE_NAME}_SOURCES
test_mem_object_properties_queries.cpp
test_queue_properties_queries.cpp
test_pipe_properties_queries.cpp
- test_semaphores.cpp
)
include(../CMakeCommon.txt)
diff --git a/test_conformance/api/main.cpp b/test_conformance/api/main.cpp
index 510b521b..fa76a406 100644
--- a/test_conformance/api/main.cpp
+++ b/test_conformance/api/main.cpp
@@ -148,20 +148,6 @@ test_definition test_list[] = {
ADD_TEST(min_image_formats),
ADD_TEST(negative_get_platform_info),
ADD_TEST(negative_get_platform_ids),
-
- ADD_TEST_VERSION(semaphores_simple_1, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_simple_2, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_reuse, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_cross_queues_ooo, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_cross_queues_io, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_multi_signal, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_multi_wait, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_queries, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_order_1, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_order_2, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_order_3, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_import_export_fd, Version(1, 2)),
- ADD_TEST_VERSION(semaphores_invalid_command, Version(1, 2)),
};
const int test_num = ARRAY_SIZE(test_list);
diff --git a/test_conformance/api/procs.h b/test_conformance/api/procs.h
index 26e42164..1bcb3116 100644
--- a/test_conformance/api/procs.h
+++ b/test_conformance/api/procs.h
@@ -204,40 +204,3 @@ extern int test_negative_get_platform_ids(cl_device_id deviceID,
int num_elements);
extern int test_kernel_attributes(cl_device_id deviceID, cl_context context,
cl_command_queue queue, int num_elements);
-
-extern int test_semaphores_simple_1(cl_device_id deviceID, cl_context context,
- cl_command_queue queue, int num_elements);
-extern int test_semaphores_simple_2(cl_device_id deviceID, cl_context context,
- cl_command_queue queue, int num_elements);
-extern int test_semaphores_reuse(cl_device_id deviceID, cl_context context,
- cl_command_queue queue, int num_elements);
-extern int test_semaphores_cross_queues_ooo(cl_device_id deviceID,
- cl_context context,
- cl_command_queue queue,
- int num_elements);
-extern int test_semaphores_cross_queues_io(cl_device_id deviceID,
- cl_context context,
- cl_command_queue queue,
- int num_elements);
-extern int test_semaphores_multi_signal(cl_device_id deviceID,
- cl_context context,
- cl_command_queue queue,
- int num_elements);
-extern int test_semaphores_multi_wait(cl_device_id deviceID, cl_context context,
- cl_command_queue queue, int num_elements);
-extern int test_semaphores_queries(cl_device_id deviceID, cl_context context,
- cl_command_queue queue, int num_elements);
-extern int test_semaphores_order_1(cl_device_id deviceID, cl_context context,
- cl_command_queue queue, int num_elements);
-extern int test_semaphores_order_2(cl_device_id deviceID, cl_context context,
- cl_command_queue queue, int num_elements);
-extern int test_semaphores_order_3(cl_device_id deviceID, cl_context context,
- cl_command_queue queue, int num_elements);
-extern int test_semaphores_import_export_fd(cl_device_id deviceID,
- cl_context context,
- cl_command_queue queue,
- int num_elements);
-extern int test_semaphores_invalid_command(cl_device_id deviceID,
- cl_context context,
- cl_command_queue queue,
- int num_elements);
diff --git a/test_conformance/extensions/CMakeLists.txt b/test_conformance/extensions/CMakeLists.txt
index d95d29aa..32e2d11e 100644
--- a/test_conformance/extensions/CMakeLists.txt
+++ b/test_conformance/extensions/CMakeLists.txt
@@ -1,3 +1,4 @@
add_subdirectory( cl_ext_cxx_for_opencl )
add_subdirectory( cl_khr_command_buffer )
add_subdirectory( cl_khr_dx9_media_sharing )
+add_subdirectory( cl_khr_semaphore )
diff --git a/test_conformance/extensions/cl_khr_semaphore/CMakeLists.txt b/test_conformance/extensions/cl_khr_semaphore/CMakeLists.txt
new file mode 100644
index 00000000..824784a1
--- /dev/null
+++ b/test_conformance/extensions/cl_khr_semaphore/CMakeLists.txt
@@ -0,0 +1,8 @@
+set(MODULE_NAME CL_KHR_SEMAPHORE)
+
+set(${MODULE_NAME}_SOURCES
+ main.cpp
+ test_semaphores.cpp
+)
+
+include(../../CMakeCommon.txt)
diff --git a/test_conformance/extensions/cl_khr_semaphore/main.cpp b/test_conformance/extensions/cl_khr_semaphore/main.cpp
new file mode 100644
index 00000000..ab9699b0
--- /dev/null
+++ b/test_conformance/extensions/cl_khr_semaphore/main.cpp
@@ -0,0 +1,49 @@
+//
+// Copyright (c) 2017 The Khronos Group Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#include "harness/compat.h"
+#include
+#include
+
+#include
+#include "procs.h"
+#include "harness/testHarness.h"
+
+#if !defined(_WIN32)
+#include
+#endif
+
+test_definition test_list[] = {
+ ADD_TEST_VERSION(semaphores_simple_1, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_simple_2, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_reuse, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_cross_queues_ooo, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_cross_queues_io, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_multi_signal, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_multi_wait, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_queries, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_order_1, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_order_2, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_order_3, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_import_export_fd, Version(1, 2)),
+ ADD_TEST_VERSION(semaphores_invalid_command, Version(1, 2)),
+};
+
+const int test_num = ARRAY_SIZE(test_list);
+
+int main(int argc, const char *argv[])
+{
+ return runTestHarness(argc, argv, test_num, test_list, false, 0);
+}
diff --git a/test_conformance/extensions/cl_khr_semaphore/procs.h b/test_conformance/extensions/cl_khr_semaphore/procs.h
new file mode 100644
index 00000000..06651af4
--- /dev/null
+++ b/test_conformance/extensions/cl_khr_semaphore/procs.h
@@ -0,0 +1,57 @@
+//
+// Copyright (c) 2017 The Khronos Group Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#include "harness/errorHelpers.h"
+#include "harness/kernelHelpers.h"
+#include "harness/typeWrappers.h"
+#include "harness/clImageHelper.h"
+#include "harness/imageHelpers.h"
+
+extern int test_semaphores_simple_1(cl_device_id deviceID, cl_context context,
+ cl_command_queue queue, int num_elements);
+extern int test_semaphores_simple_2(cl_device_id deviceID, cl_context context,
+ cl_command_queue queue, int num_elements);
+extern int test_semaphores_reuse(cl_device_id deviceID, cl_context context,
+ cl_command_queue queue, int num_elements);
+extern int test_semaphores_cross_queues_ooo(cl_device_id deviceID,
+ cl_context context,
+ cl_command_queue queue,
+ int num_elements);
+extern int test_semaphores_cross_queues_io(cl_device_id deviceID,
+ cl_context context,
+ cl_command_queue queue,
+ int num_elements);
+extern int test_semaphores_multi_signal(cl_device_id deviceID,
+ cl_context context,
+ cl_command_queue queue,
+ int num_elements);
+extern int test_semaphores_multi_wait(cl_device_id deviceID, cl_context context,
+ cl_command_queue queue, int num_elements);
+extern int test_semaphores_queries(cl_device_id deviceID, cl_context context,
+ cl_command_queue queue, int num_elements);
+extern int test_semaphores_order_1(cl_device_id deviceID, cl_context context,
+ cl_command_queue queue, int num_elements);
+extern int test_semaphores_order_2(cl_device_id deviceID, cl_context context,
+ cl_command_queue queue, int num_elements);
+extern int test_semaphores_order_3(cl_device_id deviceID, cl_context context,
+ cl_command_queue queue, int num_elements);
+extern int test_semaphores_import_export_fd(cl_device_id deviceID,
+ cl_context context,
+ cl_command_queue queue,
+ int num_elements);
+extern int test_semaphores_invalid_command(cl_device_id deviceID,
+ cl_context context,
+ cl_command_queue queue,
+ int num_elements);
diff --git a/test_conformance/api/test_semaphores.cpp b/test_conformance/extensions/cl_khr_semaphore/test_semaphores.cpp
similarity index 99%
rename from test_conformance/api/test_semaphores.cpp
rename to test_conformance/extensions/cl_khr_semaphore/test_semaphores.cpp
index 8faabebc..7d03bff3 100644
--- a/test_conformance/api/test_semaphores.cpp
+++ b/test_conformance/extensions/cl_khr_semaphore/test_semaphores.cpp
@@ -15,7 +15,6 @@
//
-#include "testBase.h"
#include "harness/typeWrappers.h"
#include "harness/extensionHelpers.h"
#include "harness/errorHelpers.h"