Skip to content

Commit d1859c5

Browse files
Transitioned two more files from unittest to pytests
It appears that unittest-based tests did not participate in the coverage collection data.
1 parent 0ef2833 commit d1859c5

File tree

2 files changed

+69
-83
lines changed

2 files changed

+69
-83
lines changed

dpctl/tests/test_sycl_kernel_submit.py

Lines changed: 38 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
"""
1919

2020
import ctypes
21-
import unittest
2221

2322
import numpy as np
23+
import pytest
2424

2525
import dpctl
2626
import dpctl.memory as dpctl_mem
@@ -29,49 +29,44 @@
2929
from ._helper import has_gpu
3030

3131

32-
@unittest.skipUnless(has_gpu(), "No OpenCL GPU queues available")
33-
class Test1DKernelSubmit(unittest.TestCase):
34-
def test_create_program_from_source(self):
35-
oclSrc = " \
36-
kernel void axpy(global int* a, global int* b, global int* c, int d) { \
37-
size_t index = get_global_id(0); \
38-
c[index] = d*a[index] + b[index]; \
39-
}"
40-
q = dpctl.SyclQueue("opencl:gpu", property="enable_profiling")
41-
prog = dpctl_prog.create_program_from_source(q, oclSrc)
42-
axpyKernel = prog.get_sycl_kernel("axpy")
32+
@pytest.mark.skipif(not has_gpu(), reason="No OpenCL GPU queues available")
33+
def test_create_program_from_source():
34+
oclSrc = " \
35+
kernel void axpy(global int* a, global int* b, global int* c, int d) { \
36+
size_t index = get_global_id(0); \
37+
c[index] = d*a[index] + b[index]; \
38+
}"
39+
q = dpctl.SyclQueue("opencl:gpu", property="enable_profiling")
40+
prog = dpctl_prog.create_program_from_source(q, oclSrc)
41+
axpyKernel = prog.get_sycl_kernel("axpy")
4342

44-
n_elems = 1024 * 512
45-
bufBytes = n_elems * np.dtype("i").itemsize
46-
abuf = dpctl_mem.MemoryUSMShared(bufBytes, queue=q)
47-
bbuf = dpctl_mem.MemoryUSMShared(bufBytes, queue=q)
48-
cbuf = dpctl_mem.MemoryUSMShared(bufBytes, queue=q)
49-
a = np.ndarray((n_elems,), buffer=abuf, dtype="i")
50-
b = np.ndarray((n_elems,), buffer=bbuf, dtype="i")
51-
c = np.ndarray((n_elems,), buffer=cbuf, dtype="i")
52-
a[:] = np.arange(n_elems)
53-
b[:] = np.arange(n_elems, 0, -1)
54-
c[:] = 0
55-
d = 2
56-
args = []
43+
n_elems = 1024 * 512
44+
bufBytes = n_elems * np.dtype("i").itemsize
45+
abuf = dpctl_mem.MemoryUSMShared(bufBytes, queue=q)
46+
bbuf = dpctl_mem.MemoryUSMShared(bufBytes, queue=q)
47+
cbuf = dpctl_mem.MemoryUSMShared(bufBytes, queue=q)
48+
a = np.ndarray((n_elems,), buffer=abuf, dtype="i")
49+
b = np.ndarray((n_elems,), buffer=bbuf, dtype="i")
50+
c = np.ndarray((n_elems,), buffer=cbuf, dtype="i")
51+
a[:] = np.arange(n_elems)
52+
b[:] = np.arange(n_elems, 0, -1)
53+
c[:] = 0
54+
d = 2
55+
args = []
5756

58-
args.append(a.base)
59-
args.append(b.base)
60-
args.append(c.base)
61-
args.append(ctypes.c_int(d))
57+
args.append(a.base)
58+
args.append(b.base)
59+
args.append(c.base)
60+
args.append(ctypes.c_int(d))
6261

63-
r = [
64-
n_elems,
65-
]
62+
r = [
63+
n_elems,
64+
]
6665

67-
timer = dpctl.SyclTimer()
68-
with timer(q):
69-
q.submit(axpyKernel, args, r)
70-
ref_c = a * d + b
71-
host_dt, device_dt = timer.dt
72-
self.assertTrue(host_dt > device_dt)
73-
self.assertTrue(np.allclose(c, ref_c))
74-
75-
76-
if __name__ == "__main__":
77-
unittest.main()
66+
timer = dpctl.SyclTimer()
67+
with timer(q):
68+
q.submit(axpyKernel, args, r)
69+
ref_c = a * d + b
70+
host_dt, device_dt = timer.dt
71+
assert host_dt > device_dt
72+
assert np.allclose(c, ref_c)

dpctl/tests/test_sycl_queue_memcpy.py

Lines changed: 31 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -17,60 +17,51 @@
1717
"""Defines unit test cases for the SyclQueue.memcpy.
1818
"""
1919

20-
import unittest
20+
import pytest
2121

2222
import dpctl
2323
import dpctl.memory
2424

2525
from ._helper import has_sycl_platforms
2626

2727

28-
class TestQueueMemcpy(unittest.TestCase):
29-
def _create_memory(self):
30-
nbytes = 1024
31-
mobj = dpctl.memory.MemoryUSMShared(nbytes)
32-
return mobj
28+
def _create_memory():
29+
nbytes = 1024
30+
mobj = dpctl.memory.MemoryUSMShared(nbytes)
31+
return mobj
3332

34-
@unittest.skipUnless(
35-
has_sycl_platforms(), "No SYCL devices except the default host device."
36-
)
37-
def test_memcpy_copy_usm_to_usm(self):
38-
mobj1 = self._create_memory()
39-
mobj2 = self._create_memory()
40-
q = dpctl.get_current_queue()
4133

42-
mv1 = memoryview(mobj1)
43-
mv2 = memoryview(mobj2)
34+
@pytest.mark.skipif(
35+
not has_sycl_platforms(),
36+
reason="No SYCL devices except the default host device.",
37+
)
38+
def test_memcpy_copy_usm_to_usm():
39+
mobj1 = _create_memory()
40+
mobj2 = _create_memory()
41+
q = dpctl.SyclQueue()
4442

45-
mv1[:3] = b"123"
43+
mv1 = memoryview(mobj1)
44+
mv2 = memoryview(mobj2)
4645

47-
q.memcpy(mobj2, mobj1, 3)
46+
mv1[:3] = b"123"
4847

49-
self.assertEqual(mv2[:3], b"123")
48+
q.memcpy(mobj2, mobj1, 3)
5049

51-
@unittest.skipUnless(
52-
has_sycl_platforms(), "No SYCL devices except the default host device."
53-
)
54-
def test_memcpy_type_error(self):
55-
mobj = self._create_memory()
56-
q = mobj._queue
50+
assert mv2[:3], b"123"
5751

58-
with self.assertRaises(TypeError) as cm:
59-
q.memcpy(None, mobj, 3)
6052

61-
self.assertEqual(type(cm.exception), TypeError)
62-
self.assertEqual(
63-
str(cm.exception), "Parameter `dest` should have type _Memory."
64-
)
53+
# @pytest.mark.skipif(
54+
# not has_sycl_platforms(),
55+
# reason="No SYCL devices except the default host device."
56+
# )
57+
def test_memcpy_type_error():
58+
mobj = _create_memory()
59+
q = mobj._queue
6560

66-
with self.assertRaises(TypeError) as cm:
67-
q.memcpy(mobj, None, 3)
61+
with pytest.raises(TypeError) as cm:
62+
q.memcpy(None, mobj, 3)
63+
assert "`dest`" in str(cm.value)
6864

69-
self.assertEqual(type(cm.exception), TypeError)
70-
self.assertEqual(
71-
str(cm.exception), "Parameter `src` should have type _Memory."
72-
)
73-
74-
75-
if __name__ == "__main__":
76-
unittest.main()
65+
with pytest.raises(TypeError) as cm:
66+
q.memcpy(mobj, None, 3)
67+
assert "`src`" in str(cm.value)

0 commit comments

Comments
 (0)