Skip to content

Commit b5ca195

Browse files
author
Diptorup Deb
committed
Remove code duplication. (#337)
1 parent 0a22e43 commit b5ca195

File tree

1 file changed

+8
-124
lines changed

1 file changed

+8
-124
lines changed

dpctl-capi/tests/test_sycl_device_interface.cpp

Lines changed: 8 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,20 @@ using namespace cl::sycl;
3737
struct TestDPCTLSyclDeviceInterface
3838
: public ::testing::TestWithParam<const char *>
3939
{
40-
DPCTLSyclDeviceSelectorRef DSRef = nullptr;
40+
DPCTLSyclDeviceRef DRef = nullptr;
4141

4242
TestDPCTLSyclDeviceInterface()
4343
{
44-
EXPECT_NO_FATAL_FAILURE(DSRef = DPCTLFilterSelector_Create(GetParam()));
44+
auto DS = DPCTLFilterSelector_Create(GetParam());
45+
if (DS) {
46+
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DS));
47+
}
48+
DPCTLDeviceSelector_Delete(DS);
4549
}
4650

4751
void SetUp()
4852
{
49-
if (!DSRef) {
53+
if (!DRef) {
5054
auto message = "Skipping as no device of type " +
5155
std::string(GetParam()) + ".";
5256
GTEST_SKIP_(message.c_str());
@@ -55,30 +59,21 @@ struct TestDPCTLSyclDeviceInterface
5559

5660
~TestDPCTLSyclDeviceInterface()
5761
{
58-
EXPECT_NO_FATAL_FAILURE(DPCTLDeviceSelector_Delete(DSRef));
62+
DPCTLDevice_Delete(DRef);
5963
}
6064
};
6165

6266
TEST_P(TestDPCTLSyclDeviceInterface, Chk_Copy)
6367
{
64-
DPCTLSyclDeviceRef DRef = nullptr;
6568
DPCTLSyclDeviceRef Copied_DRef = nullptr;
66-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
67-
if (!DRef)
68-
GTEST_SKIP_("Device not found");
6969
EXPECT_NO_FATAL_FAILURE(Copied_DRef = DPCTLDevice_Copy(DRef));
7070
EXPECT_TRUE(bool(Copied_DRef));
7171
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(Copied_DRef));
72-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
7372
}
7473

7574
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetBackend)
7675
{
77-
DPCTLSyclDeviceRef DRef = nullptr;
7876
DPCTLSyclBackendType BTy = DPCTLSyclBackendType::DPCTL_UNKNOWN_BACKEND;
79-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
80-
if (!DRef)
81-
GTEST_SKIP_("Device not found");
8277
EXPECT_NO_FATAL_FAILURE(BTy = DPCTLDevice_GetBackend(DRef));
8378
EXPECT_TRUE([BTy] {
8479
switch (BTy) {
@@ -94,270 +89,165 @@ TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetBackend)
9489
return false;
9590
}
9691
}());
97-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
9892
}
9993

10094
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetDeviceType)
10195
{
102-
DPCTLSyclDeviceRef DRef = nullptr;
10396
DPCTLSyclDeviceType DTy = DPCTLSyclDeviceType::DPCTL_UNKNOWN_DEVICE;
104-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
105-
if (!DRef)
106-
GTEST_SKIP_("Device not found");
10797
EXPECT_NO_FATAL_FAILURE(DTy = DPCTLDevice_GetDeviceType(DRef));
10898
EXPECT_TRUE(DTy != DPCTLSyclDeviceType::DPCTL_UNKNOWN_DEVICE);
10999
EXPECT_TRUE(DTy != DPCTLSyclDeviceType::DPCTL_ALL);
110-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
111100
}
112101

113102
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetDriverInfo)
114103
{
115-
DPCTLSyclDeviceRef DRef = nullptr;
116104
const char *DriverInfo = nullptr;
117-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
118-
if (!DRef)
119-
GTEST_SKIP_("Device not found");
120105
EXPECT_NO_FATAL_FAILURE(DriverInfo = DPCTLDevice_GetDriverInfo(DRef));
121106
EXPECT_TRUE(DriverInfo != nullptr);
122107
EXPECT_NO_FATAL_FAILURE(DPCTLCString_Delete(DriverInfo));
123-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
124108
}
125109

126110
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetName)
127111
{
128-
DPCTLSyclDeviceRef DRef = nullptr;
129112
const char *Name = nullptr;
130-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
131-
if (!DRef)
132-
GTEST_SKIP_("Device not found");
133113
EXPECT_NO_FATAL_FAILURE(Name = DPCTLDevice_GetName(DRef));
134114
EXPECT_TRUE(Name != nullptr);
135115
EXPECT_NO_FATAL_FAILURE(DPCTLCString_Delete(Name));
136-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
137116
}
138117

139118
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetVendorName)
140119
{
141-
DPCTLSyclDeviceRef DRef = nullptr;
142120
const char *VendorName = nullptr;
143-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
144-
if (!DRef)
145-
GTEST_SKIP_("Device not found");
146121
EXPECT_NO_FATAL_FAILURE(VendorName = DPCTLDevice_GetVendorName(DRef));
147122
EXPECT_TRUE(VendorName != nullptr);
148123
EXPECT_NO_FATAL_FAILURE(DPCTLCString_Delete(VendorName));
149-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
150124
}
151125

152126
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxComputeUnits)
153127
{
154-
DPCTLSyclDeviceRef DRef = nullptr;
155128
size_t n = 0;
156-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
157-
if (!DRef)
158-
GTEST_SKIP_("Device not found");
159129
EXPECT_NO_FATAL_FAILURE(n = DPCTLDevice_GetMaxComputeUnits(DRef));
160130
EXPECT_TRUE(n > 0);
161-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
162131
}
163132

164133
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxWorkItemDims)
165134
{
166-
DPCTLSyclDeviceRef DRef = nullptr;
167135
size_t n = 0;
168-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
169-
if (!DRef)
170-
GTEST_SKIP_("Device not found");
171136
EXPECT_NO_FATAL_FAILURE(n = DPCTLDevice_GetMaxWorkItemDims(DRef));
172137
EXPECT_TRUE(n > 0);
173-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
174138
}
175139

176140
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxWorkItemSizes)
177141
{
178-
DPCTLSyclDeviceRef DRef = nullptr;
179142
size_t *sizes = nullptr;
180-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
181-
if (!DRef)
182-
GTEST_SKIP_("Device not found");
183143
EXPECT_NO_FATAL_FAILURE(sizes = DPCTLDevice_GetMaxWorkItemSizes(DRef));
184144
EXPECT_TRUE(sizes != nullptr);
185145
EXPECT_NO_FATAL_FAILURE(DPCTLSize_t_Array_Delete(sizes));
186-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
187146
}
188147

189148
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxWorkGroupSize)
190149
{
191-
DPCTLSyclDeviceRef DRef = nullptr;
192150
size_t n = 0;
193-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
194-
if (!DRef)
195-
GTEST_SKIP_("Device not found");
196151
EXPECT_NO_FATAL_FAILURE(n = DPCTLDevice_GetMaxWorkGroupSize(DRef));
197152
if (DPCTLDevice_IsAccelerator(DRef))
198153
EXPECT_TRUE(n >= 0);
199154
else
200155
EXPECT_TRUE(n > 0);
201-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
202156
}
203157

204158
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxNumSubGroups)
205159
{
206-
DPCTLSyclDeviceRef DRef = nullptr;
207160
size_t n = 0;
208-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
209-
if (!DRef)
210-
GTEST_SKIP_("Device not found");
211161
EXPECT_NO_FATAL_FAILURE(n = DPCTLDevice_GetMaxNumSubGroups(DRef));
212162
if (DPCTLDevice_IsAccelerator(DRef))
213163
EXPECT_TRUE(n >= 0);
214164
else
215165
EXPECT_TRUE(n > 0);
216-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
217166
}
218167

219168
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPlatform)
220169
{
221-
DPCTLSyclDeviceRef DRef = nullptr;
222170
DPCTLSyclPlatformRef PRef = nullptr;
223-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
224-
if (!DRef)
225-
GTEST_SKIP_("Device not found");
226171
EXPECT_NO_FATAL_FAILURE(PRef = DPCTLDevice_GetPlatform(DRef));
227172
ASSERT_TRUE(PRef);
228-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
229173
EXPECT_NO_FATAL_FAILURE(DPCTLPlatform_Delete(PRef));
230174
}
231175

232176
TEST_P(TestDPCTLSyclDeviceInterface, Chk_IsAccelerator)
233177
{
234-
DPCTLSyclDeviceRef DRef = nullptr;
235-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
236-
if (!DRef)
237-
GTEST_SKIP_("Device not found");
238178
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_IsAccelerator(DRef));
239-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
240179
}
241180

242181
TEST_P(TestDPCTLSyclDeviceInterface, Chk_IsCPU)
243182
{
244-
DPCTLSyclDeviceRef DRef = nullptr;
245-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
246-
if (!DRef)
247-
GTEST_SKIP_("Device not found");
248183
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_IsCPU(DRef));
249-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
250184
}
251185

252186
TEST_P(TestDPCTLSyclDeviceInterface, Chk_IsGPU)
253187
{
254-
DPCTLSyclDeviceRef DRef = nullptr;
255-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
256-
if (!DRef)
257-
GTEST_SKIP_("Device not found");
258188
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_IsGPU(DRef));
259-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
260189
}
261190

262191
TEST_P(TestDPCTLSyclDeviceInterface, Chk_IsHost)
263192
{
264-
DPCTLSyclDeviceRef DRef = nullptr;
265-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
266-
if (!DRef)
267-
GTEST_SKIP_("Device not found");
268193
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_IsHost(DRef));
269-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
270194
}
271195

272196
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetSubGroupIndependentForwardProgress)
273197
{
274-
DPCTLSyclDeviceRef DRef = nullptr;
275198
bool sub_group_progress = 0;
276-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
277-
if (!DRef)
278-
GTEST_SKIP_("Device not found");
279199
EXPECT_NO_FATAL_FAILURE(
280200
sub_group_progress =
281201
DPCTLDevice_GetSubGroupIndependentForwardProgress(DRef));
282202
auto D = reinterpret_cast<device *>(DRef);
283203
auto get_sub_group_progress =
284204
D->get_info<info::device::sub_group_independent_forward_progress>();
285205
EXPECT_TRUE(get_sub_group_progress == sub_group_progress);
286-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
287206
}
288207

289208
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthChar)
290209
{
291-
DPCTLSyclDeviceRef DRef = nullptr;
292210
size_t vector_width_char = 0;
293-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
294-
if (!DRef)
295-
GTEST_SKIP_("Device not found");
296211
EXPECT_NO_FATAL_FAILURE(vector_width_char =
297212
DPCTLDevice_GetPreferredVectorWidthChar(DRef));
298213
EXPECT_TRUE(vector_width_char != 0);
299-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
300214
}
301215

302216
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthShort)
303217
{
304-
DPCTLSyclDeviceRef DRef = nullptr;
305218
size_t vector_width_short = 0;
306-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
307-
if (!DRef)
308-
GTEST_SKIP_("Device not found");
309219
EXPECT_NO_FATAL_FAILURE(vector_width_short =
310220
DPCTLDevice_GetPreferredVectorWidthShort(DRef));
311221
EXPECT_TRUE(vector_width_short != 0);
312-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
313222
}
314223

315224
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthInt)
316225
{
317-
DPCTLSyclDeviceRef DRef = nullptr;
318226
size_t vector_width_int = 0;
319-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
320-
if (!DRef)
321-
GTEST_SKIP_("Device not found");
322227
EXPECT_NO_FATAL_FAILURE(vector_width_int =
323228
DPCTLDevice_GetPreferredVectorWidthInt(DRef));
324229
EXPECT_TRUE(vector_width_int != 0);
325-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
326230
}
327231

328232
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthLong)
329233
{
330-
DPCTLSyclDeviceRef DRef = nullptr;
331234
size_t vector_width_long = 0;
332-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
333-
if (!DRef)
334-
GTEST_SKIP_("Device not found");
335235
EXPECT_NO_FATAL_FAILURE(vector_width_long =
336236
DPCTLDevice_GetPreferredVectorWidthLong(DRef));
337237
EXPECT_TRUE(vector_width_long != 0);
338-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
339238
}
340239

341240
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthFloat)
342241
{
343-
DPCTLSyclDeviceRef DRef = nullptr;
344242
size_t vector_width_float = 0;
345-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
346-
if (!DRef)
347-
GTEST_SKIP_("Device not found");
348243
EXPECT_NO_FATAL_FAILURE(vector_width_float =
349244
DPCTLDevice_GetPreferredVectorWidthFloat(DRef));
350245
EXPECT_TRUE(vector_width_float != 0);
351-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
352246
}
353247

354248
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthDouble)
355249
{
356-
DPCTLSyclDeviceRef DRef = nullptr;
357250
size_t vector_width_double = 0;
358-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
359-
if (!DRef)
360-
GTEST_SKIP_("Device not found");
361251
EXPECT_NO_FATAL_FAILURE(
362252
vector_width_double = DPCTLDevice_GetPreferredVectorWidthDouble(DRef));
363253
if (DPCTLDevice_HasAspect(DRef, DPCTL_SyclAspectToDPCTLAspectType(
@@ -368,16 +258,11 @@ TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthDouble)
368258
else {
369259
EXPECT_TRUE(vector_width_double == 0);
370260
}
371-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
372261
}
373262

374263
TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthHalf)
375264
{
376-
DPCTLSyclDeviceRef DRef = nullptr;
377265
size_t vector_width_half = 0;
378-
EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef));
379-
if (!DRef)
380-
GTEST_SKIP_("Device not found");
381266
EXPECT_NO_FATAL_FAILURE(vector_width_half =
382267
DPCTLDevice_GetPreferredVectorWidthHalf(DRef));
383268
if (DPCTLDevice_HasAspect(DRef, DPCTL_SyclAspectToDPCTLAspectType(
@@ -388,7 +273,6 @@ TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthHalf)
388273
else {
389274
EXPECT_TRUE(vector_width_half == 0);
390275
}
391-
EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef));
392276
}
393277

394278
INSTANTIATE_TEST_SUITE_P(DPCTLDevice_Fns,

0 commit comments

Comments
 (0)