@@ -154,7 +154,8 @@ TEST_P(TestDPCTLSyclKernelBundleInterface, ChkGetKernelNullProgram)
154
154
EXPECT_TRUE (KRef == nullptr );
155
155
}
156
156
157
- struct TestOCLKernelBundleFromSource : public ::testing::Test
157
+ struct TestOCLKernelBundleFromSource
158
+ : public ::testing::TestWithParam<const char *>
158
159
{
159
160
const char *CLProgramStr = R"CLC(
160
161
kernel void add(global int* a, global int* b, global int* c) {
@@ -175,7 +176,7 @@ struct TestOCLKernelBundleFromSource : public ::testing::Test
175
176
176
177
TestOCLKernelBundleFromSource ()
177
178
{
178
- auto DS = DPCTLFilterSelector_Create (" opencl:gpu " );
179
+ auto DS = DPCTLFilterSelector_Create (GetParam () );
179
180
DRef = DPCTLDevice_CreateFromSelector (DS);
180
181
DPCTLDeviceSelector_Delete (DS);
181
182
CRef = DPCTLDeviceMgr_GetCachedContext (DRef);
@@ -185,6 +186,15 @@ struct TestOCLKernelBundleFromSource : public ::testing::Test
185
186
CRef, DRef, CLProgramStr, CompileOpts);
186
187
}
187
188
189
+ void SetUp ()
190
+ {
191
+ if (!DRef) {
192
+ auto message = " Skipping as no device of type " +
193
+ std::string (GetParam ()) + " ." ;
194
+ GTEST_SKIP_ (message.c_str ());
195
+ }
196
+ }
197
+
188
198
~TestOCLKernelBundleFromSource ()
189
199
{
190
200
if (DRef)
@@ -196,17 +206,14 @@ struct TestOCLKernelBundleFromSource : public ::testing::Test
196
206
}
197
207
};
198
208
199
- TEST_F (TestOCLKernelBundleFromSource, CheckCreateFromOCLSource)
209
+ TEST_P (TestOCLKernelBundleFromSource, CheckCreateFromOCLSource)
200
210
{
201
- if (!DRef)
202
- GTEST_SKIP_ (" Skipping as no OpenCL GPU device found.\n " );
203
-
204
211
ASSERT_TRUE (KBRef != nullptr );
205
212
ASSERT_TRUE (DPCTLKernelBundle_HasKernel (KBRef, " add" ));
206
213
ASSERT_TRUE (DPCTLKernelBundle_HasKernel (KBRef, " axpy" ));
207
214
}
208
215
209
- TEST_F (TestOCLKernelBundleFromSource, CheckCreateFromOCLSourceNull)
216
+ TEST_P (TestOCLKernelBundleFromSource, CheckCreateFromOCLSourceNull)
210
217
{
211
218
const char *InvalidCLProgramStr = R"CLC(
212
219
kernel void invalid(global foo* a, global bar* b) {
@@ -216,9 +223,6 @@ TEST_F(TestOCLKernelBundleFromSource, CheckCreateFromOCLSourceNull)
216
223
)CLC" ;
217
224
DPCTLSyclKernelBundleRef KBRef = nullptr ;
218
225
219
- if (!DRef)
220
- GTEST_SKIP_ (" Skipping as no OpenCL GPU device found.\n " );
221
-
222
226
EXPECT_NO_FATAL_FAILURE (KBRef = DPCTLKernelBundle_CreateFromOCLSource (
223
227
CRef, DRef, InvalidCLProgramStr, CompileOpts););
224
228
ASSERT_TRUE (KBRef == nullptr );
@@ -236,11 +240,8 @@ TEST_F(TestOCLKernelBundleFromSource, CheckCreateFromOCLSourceNull)
236
240
ASSERT_TRUE (KBRef == nullptr );
237
241
}
238
242
239
- TEST_F (TestOCLKernelBundleFromSource, CheckGetKernelOCLSource)
243
+ TEST_P (TestOCLKernelBundleFromSource, CheckGetKernelOCLSource)
240
244
{
241
- if (!DRef)
242
- GTEST_SKIP_ (" Skipping as no OpenCL GPU device found.\n " );
243
-
244
245
auto AddKernel = DPCTLKernelBundle_GetKernel (KBRef, " add" );
245
246
auto AxpyKernel = DPCTLKernelBundle_GetKernel (KBRef, " axpy" );
246
247
ASSERT_TRUE (AddKernel != nullptr );
@@ -261,6 +262,10 @@ INSTANTIATE_TEST_SUITE_P(KernelBundleCreationFromSpirv,
261
262
#endif
262
263
" opencl:cpu:0" ));
263
264
265
+ INSTANTIATE_TEST_SUITE_P (KernelBundleCreationFromSource,
266
+ TestOCLKernelBundleFromSource,
267
+ ::testing::Values (" opencl:gpu" , " opencl:cpu" ));
268
+
264
269
struct TestKernelBundleUnsupportedBackend : public ::testing::Test
265
270
{
266
271
DPCTLSyclDeviceRef DRef = nullptr ;
0 commit comments