1010#include < OffloadAPI.h>
1111#include < gtest/gtest.h>
1212
13- struct olLaunchKernelTest : OffloadQueueTest {
14- void SetUp () override {
13+ struct LaunchKernelTestBase : OffloadQueueTest {
14+ void SetUpKernel ( const char *kernel) {
1515 RETURN_ON_FATAL_FAILURE (OffloadQueueTest::SetUp ());
16- ASSERT_TRUE (TestEnvironment::loadDeviceBinary (" foo " , Device, DeviceBin));
16+ ASSERT_TRUE (TestEnvironment::loadDeviceBinary (kernel , Device, DeviceBin));
1717 ASSERT_GE (DeviceBin->getBufferSize (), 0lu);
1818 ASSERT_SUCCESS (olCreateProgram (Device, DeviceBin->getBufferStart (),
1919 DeviceBin->getBufferSize (), &Program));
20- ASSERT_SUCCESS (olGetKernel (Program, " foo " , &Kernel));
20+ ASSERT_SUCCESS (olGetKernel (Program, kernel , &Kernel));
2121 LaunchArgs.Dimensions = 1 ;
2222 LaunchArgs.GroupSizeX = 64 ;
2323 LaunchArgs.GroupSizeY = 1 ;
@@ -43,8 +43,20 @@ struct olLaunchKernelTest : OffloadQueueTest {
4343 ol_kernel_launch_size_args_t LaunchArgs{};
4444};
4545
46+ struct olLaunchKernelTest : LaunchKernelTestBase {
47+ void SetUp () override {
48+ RETURN_ON_FATAL_FAILURE (LaunchKernelTestBase::SetUpKernel (" foo" ));
49+ }
50+ };
4651OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE (olLaunchKernelTest);
4752
53+ struct olLaunchKernelNoArgsTest : LaunchKernelTestBase {
54+ void SetUp () override {
55+ RETURN_ON_FATAL_FAILURE (LaunchKernelTestBase::SetUpKernel (" noargs" ));
56+ }
57+ };
58+ OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE (olLaunchKernelNoArgsTest);
59+
4860TEST_P (olLaunchKernelTest, Success) {
4961 void *Mem;
5062 ASSERT_SUCCESS (olMemAlloc (Device, OL_ALLOC_TYPE_MANAGED,
@@ -66,6 +78,13 @@ TEST_P(olLaunchKernelTest, Success) {
6678 ASSERT_SUCCESS (olMemFree (Mem));
6779}
6880
81+ TEST_P (olLaunchKernelNoArgsTest, Success) {
82+ ASSERT_SUCCESS (
83+ olLaunchKernel (Queue, Device, Kernel, nullptr , 0 , &LaunchArgs, nullptr ));
84+
85+ ASSERT_SUCCESS (olWaitQueue (Queue));
86+ }
87+
6988TEST_P (olLaunchKernelTest, SuccessSynchronous) {
7089 void *Mem;
7190 ASSERT_SUCCESS (olMemAlloc (Device, OL_ALLOC_TYPE_MANAGED,
0 commit comments