@@ -43,16 +43,20 @@ DEFINE_SIMPLE_CONVERSION_FUNCTIONS(vector_class<DPCTLSyclDeviceRef>,
43
43
44
44
struct TestDPCTLContextInterface : public ::testing::TestWithParam<const char *>
45
45
{
46
- DPCTLSyclDeviceSelectorRef DSRef = nullptr ;
46
+ DPCTLSyclDeviceRef DRef = nullptr ;
47
47
48
48
TestDPCTLContextInterface ()
49
49
{
50
- EXPECT_NO_FATAL_FAILURE (DSRef = DPCTLFilterSelector_Create (GetParam ()));
50
+ auto DS = DPCTLFilterSelector_Create (GetParam ());
51
+ if (DS) {
52
+ EXPECT_NO_FATAL_FAILURE (DRef = DPCTLDevice_CreateFromSelector (DS));
53
+ }
54
+ DPCTLDeviceSelector_Delete (DS);
51
55
}
52
56
53
57
void SetUp ()
54
58
{
55
- if (!DSRef ) {
59
+ if (!DRef ) {
56
60
auto message = " Skipping as no device of type " +
57
61
std::string (GetParam ()) + " ." ;
58
62
GTEST_SKIP_ (message.c_str ());
@@ -61,32 +65,23 @@ struct TestDPCTLContextInterface : public ::testing::TestWithParam<const char *>
61
65
62
66
~TestDPCTLContextInterface ()
63
67
{
64
- EXPECT_NO_FATAL_FAILURE (DPCTLDeviceSelector_Delete (DSRef ));
68
+ EXPECT_NO_FATAL_FAILURE (DPCTLDevice_Delete (DRef ));
65
69
}
66
70
};
67
71
68
72
TEST_P (TestDPCTLContextInterface, Chk_Create)
69
73
{
70
74
DPCTLSyclContextRef CRef = nullptr ;
71
- DPCTLSyclDeviceRef DRef = nullptr ;
72
- EXPECT_NO_FATAL_FAILURE (DRef = DPCTLDevice_CreateFromSelector (DSRef));
73
- if (!DRef)
74
- GTEST_SKIP_ (" Device not found" );
75
75
EXPECT_NO_FATAL_FAILURE (CRef = DPCTLContext_Create (DRef, nullptr , 0 ));
76
76
ASSERT_TRUE (CRef);
77
- EXPECT_NO_FATAL_FAILURE (DPCTLDevice_Delete (DRef));
78
77
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef));
79
78
}
80
79
81
80
TEST_P (TestDPCTLContextInterface, Chk_CreateWithDevices)
82
81
{
83
82
size_t nCUs = 0 ;
84
83
DPCTLSyclContextRef CRef = nullptr ;
85
- DPCTLSyclDeviceRef DRef = nullptr ;
86
84
DPCTLDeviceVectorRef DVRef = nullptr ;
87
- EXPECT_NO_FATAL_FAILURE (DRef = DPCTLDevice_CreateFromSelector (DSRef));
88
- if (!DRef)
89
- GTEST_SKIP_ (" Device not found" );
90
85
91
86
/* TODO: Once we have wrappers for sub-device creation let us use those
92
87
* functions.
@@ -108,7 +103,6 @@ TEST_P(TestDPCTLContextInterface, Chk_CreateWithDevices)
108
103
GTEST_SKIP_ (" Skipping creating context for sub-devices" );
109
104
}
110
105
}
111
- EXPECT_NO_FATAL_FAILURE (DPCTLDevice_Delete (DRef));
112
106
EXPECT_NO_FATAL_FAILURE (DPCTLDeviceVector_Delete (DVRef));
113
107
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef));
114
108
}
@@ -117,12 +111,8 @@ TEST_P(TestDPCTLContextInterface, Chk_CreateWithDevices_GetDevices)
117
111
{
118
112
size_t nCUs = 0 ;
119
113
DPCTLSyclContextRef CRef = nullptr ;
120
- DPCTLSyclDeviceRef DRef = nullptr ;
121
114
DPCTLDeviceVectorRef DVRef = nullptr ;
122
115
DPCTLDeviceVectorRef Res_DVRef = nullptr ;
123
- EXPECT_NO_FATAL_FAILURE (DRef = DPCTLDevice_CreateFromSelector (DSRef));
124
- if (!DRef)
125
- GTEST_SKIP_ (" Device not found" );
126
116
127
117
/* TODO: Once we have wrappers for sub-device creation let us use those
128
118
* functions.
@@ -151,7 +141,6 @@ TEST_P(TestDPCTLContextInterface, Chk_CreateWithDevices_GetDevices)
151
141
GTEST_SKIP_ (" Skipping creating context for sub-devices" );
152
142
}
153
143
}
154
- EXPECT_NO_FATAL_FAILURE (DPCTLDevice_Delete (DRef));
155
144
EXPECT_NO_FATAL_FAILURE (DPCTLDeviceVector_Delete (DVRef));
156
145
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef));
157
146
EXPECT_NO_FATAL_FAILURE (DPCTLDeviceVector_Delete (Res_DVRef));
@@ -160,30 +149,21 @@ TEST_P(TestDPCTLContextInterface, Chk_CreateWithDevices_GetDevices)
160
149
TEST_P (TestDPCTLContextInterface, Chk_GetDevices)
161
150
{
162
151
DPCTLSyclContextRef CRef = nullptr ;
163
- DPCTLSyclDeviceRef DRef = nullptr ;
164
152
DPCTLDeviceVectorRef DVRef = nullptr ;
165
- EXPECT_NO_FATAL_FAILURE (DRef = DPCTLDevice_CreateFromSelector (DSRef));
166
- if (!DRef)
167
- GTEST_SKIP_ (" Device not found" );
168
153
EXPECT_NO_FATAL_FAILURE (CRef = DPCTLContext_Create (DRef, nullptr , 0 ));
169
154
ASSERT_TRUE (CRef);
170
155
EXPECT_NO_FATAL_FAILURE (DVRef = DPCTLContext_GetDevices (CRef));
171
156
ASSERT_TRUE (DVRef);
172
157
EXPECT_TRUE (DPCTLDeviceVector_Size (DVRef) == 1 );
173
- EXPECT_NO_FATAL_FAILURE (DPCTLDevice_Delete (DRef));
174
158
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef));
175
159
EXPECT_NO_FATAL_FAILURE (DPCTLDeviceVector_Delete (DVRef));
176
160
}
177
161
178
162
TEST_P (TestDPCTLContextInterface, Chk_AreEq)
179
163
{
180
164
DPCTLSyclContextRef CRef1 = nullptr , CRef2 = nullptr , CRef3 = nullptr ;
181
- DPCTLSyclDeviceRef DRef = nullptr ;
182
165
bool are_eq = true , are_not_eq = false ;
183
166
184
- EXPECT_NO_FATAL_FAILURE (DRef = DPCTLDevice_CreateFromSelector (DSRef));
185
- if (!DRef)
186
- GTEST_SKIP_ (" Device not found" );
187
167
EXPECT_NO_FATAL_FAILURE (CRef1 = DPCTLContext_Create (DRef, nullptr , 0 ));
188
168
EXPECT_NO_FATAL_FAILURE (CRef2 = DPCTLContext_Copy (CRef1));
189
169
// TODO: This work till DPC++ does not have a default context per device,
@@ -198,7 +178,6 @@ TEST_P(TestDPCTLContextInterface, Chk_AreEq)
198
178
EXPECT_TRUE (are_eq);
199
179
EXPECT_FALSE (are_not_eq);
200
180
201
- EXPECT_NO_FATAL_FAILURE (DPCTLDevice_Delete (DRef));
202
181
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef1));
203
182
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef2));
204
183
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef3));
@@ -207,41 +186,31 @@ TEST_P(TestDPCTLContextInterface, Chk_AreEq)
207
186
TEST_P (TestDPCTLContextInterface, Chk_IsHost)
208
187
{
209
188
DPCTLSyclContextRef CRef = nullptr ;
210
- DPCTLSyclDeviceRef DRef = nullptr ;
211
189
bool is_host_device = false , is_host_context = false ;
212
190
213
- EXPECT_NO_FATAL_FAILURE (DRef = DPCTLDevice_CreateFromSelector (DSRef));
214
- if (!DRef)
215
- GTEST_SKIP_ (" Device not found" );
216
191
EXPECT_NO_FATAL_FAILURE (CRef = DPCTLContext_Create (DRef, nullptr , 0 ));
217
192
ASSERT_TRUE (CRef);
218
193
219
194
EXPECT_NO_FATAL_FAILURE (is_host_device = DPCTLDevice_IsHost (DRef));
220
195
EXPECT_NO_FATAL_FAILURE (is_host_context = DPCTLContext_IsHost (CRef));
221
196
EXPECT_TRUE (is_host_device == is_host_context);
222
197
223
- EXPECT_NO_FATAL_FAILURE (DPCTLDevice_Delete (DRef));
224
198
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef));
225
199
}
226
200
227
201
TEST_P (TestDPCTLContextInterface, Chk_GetBackend)
228
202
{
229
203
DPCTLSyclContextRef CRef = nullptr ;
230
- DPCTLSyclDeviceRef DRef = nullptr ;
231
204
DPCTLSyclBackendType context_backend = DPCTL_UNKNOWN_BACKEND,
232
205
device_backend = DPCTL_UNKNOWN_BACKEND;
233
206
234
- EXPECT_NO_FATAL_FAILURE (DRef = DPCTLDevice_CreateFromSelector (DSRef));
235
- if (!DRef)
236
- GTEST_SKIP_ (" Device not found" );
237
207
EXPECT_NO_FATAL_FAILURE (CRef = DPCTLContext_Create (DRef, nullptr , 0 ));
238
208
ASSERT_TRUE (CRef);
239
209
240
210
EXPECT_NO_FATAL_FAILURE (device_backend = DPCTLDevice_GetBackend (DRef));
241
211
EXPECT_NO_FATAL_FAILURE (context_backend = DPCTLContext_GetBackend (CRef));
242
212
EXPECT_TRUE (device_backend == context_backend);
243
213
244
- EXPECT_NO_FATAL_FAILURE (DPCTLDevice_Delete (DRef));
245
214
EXPECT_NO_FATAL_FAILURE (DPCTLContext_Delete (CRef));
246
215
}
247
216
0 commit comments