Skip to content

Commit 0a7c13f

Browse files
Add test fixture for set of simple kernels from simple_kernels.cl
Change-Id: I4e9bde6f1a72eb15c58d09a1ad24f98ccda5a08d
1 parent d0298b7 commit 0a7c13f

File tree

2 files changed

+61
-1
lines changed

2 files changed

+61
-1
lines changed

unit_tests/fixtures/simple_arg_kernel_fixture.h

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,4 +183,64 @@ class SimpleArgNonUniformKernelFixture : public ProgramFixture {
183183
Kernel *kernel;
184184
};
185185

186+
class SimpleKernelFixture : public ProgramFixture {
187+
public:
188+
using ProgramFixture::SetUp;
189+
SimpleKernelFixture() {
190+
kernelsCount = sizeof(kernels) / sizeof(Kernel *);
191+
}
192+
193+
protected:
194+
void SetUp(Device *device, Context *context) {
195+
ProgramFixture::SetUp();
196+
197+
cl_device_id deviceId = device;
198+
cl_context clContext = context;
199+
std::string programName("simple_kernels");
200+
CreateProgramFromBinary<Program>(
201+
clContext,
202+
&deviceId,
203+
programName);
204+
ASSERT_NE(nullptr, pProgram);
205+
206+
retVal = pProgram->build(
207+
1,
208+
&deviceId,
209+
nullptr,
210+
nullptr,
211+
nullptr,
212+
false);
213+
ASSERT_EQ(CL_SUCCESS, retVal);
214+
215+
for (uint32_t i = 0; i < kernelsCount; i++) {
216+
if ((1 << i) & kernelIds) {
217+
std::string kernelName("simple_kernel_");
218+
kernelName.append(std::to_string(i));
219+
kernels[i] = Kernel::create<MockKernel>(
220+
pProgram,
221+
*pProgram->getKernelInfo(kernelName.c_str()),
222+
&retVal);
223+
ASSERT_NE(nullptr, kernels[i]);
224+
ASSERT_EQ(CL_SUCCESS, retVal);
225+
}
226+
}
227+
}
228+
229+
virtual void TearDown() {
230+
for (uint32_t i = 0; i < kernelsCount; i++) {
231+
if (kernels[i]) {
232+
delete kernels[i];
233+
kernels[i] = nullptr;
234+
}
235+
}
236+
237+
ProgramFixture::TearDown();
238+
}
239+
240+
uint32_t kernelsCount;
241+
cl_int retVal = CL_SUCCESS;
242+
Kernel *kernels[5] = {};
243+
uint32_t kernelIds = 0;
244+
};
245+
186246
} // namespace OCLRT

unit_tests/test_files/simple_kernels.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ __kernel void simple_kernel_2(
3737

3838
__kernel void simple_kernel_3(
3939
__global uint *dst) {
40-
dst[get_local_id(0)] = 0;
40+
dst[get_global_id(0)] = 0;
4141
}
4242

4343
__kernel void simple_kernel_4() {

0 commit comments

Comments
 (0)