From 1855167cddd4c24a626e5572a817be86d6f420b0 Mon Sep 17 00:00:00 2001 From: Andrei Elovikov Date: Thu, 1 Dec 2022 12:30:21 -0800 Subject: [PATCH] [NFC][SYCL] Convert test-suite/.../in_order_property_trace.cpp to unittest Needed for https://github.com/intel/llvm/pull/7599 as the LIT trace using SYCL_PI_TRACE wouldn't be possible after it due to extra indirection level when passing PI_QUEUE_* flags. --- sycl/unittests/queue/CMakeLists.txt | 1 + sycl/unittests/queue/InOrderQueue.cpp | 28 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 sycl/unittests/queue/InOrderQueue.cpp diff --git a/sycl/unittests/queue/CMakeLists.txt b/sycl/unittests/queue/CMakeLists.txt index e284c07766903..4092a144d4fcd 100644 --- a/sycl/unittests/queue/CMakeLists.txt +++ b/sycl/unittests/queue/CMakeLists.txt @@ -5,4 +5,5 @@ add_sycl_unittest(QueueTests OBJECT Wait.cpp GetProfilingInfo.cpp ShortcutFunctions.cpp + InOrderQueue.cpp ) diff --git a/sycl/unittests/queue/InOrderQueue.cpp b/sycl/unittests/queue/InOrderQueue.cpp new file mode 100644 index 0000000000000..0279dbf4dfc12 --- /dev/null +++ b/sycl/unittests/queue/InOrderQueue.cpp @@ -0,0 +1,28 @@ +#include +#include +#include +#include + +using namespace sycl; + +static bool InOrderFlagSeen = false; +pi_result piQueueCreateRedefineBefore(pi_context context, pi_device device, + pi_queue_properties properties, + pi_queue *queue) { + InOrderFlagSeen = !(properties & PI_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE); + return PI_SUCCESS; +} + +TEST(InOrderQueue, CheckFlagIsPassed) { + unittest::PiMock Mock; + platform Plt = Mock.getPlatform(); + + Mock.redefineBefore( + piQueueCreateRedefineBefore); + + EXPECT_FALSE(InOrderFlagSeen); + queue q1{}; + EXPECT_FALSE(InOrderFlagSeen); + queue q2{property::queue::in_order{}}; + EXPECT_TRUE(InOrderFlagSeen); +}