|
22 | 22 | import dpctl.utils |
23 | 23 |
|
24 | 24 |
|
25 | | -def test_get_execution_queue_input_validation(): |
26 | | - with pytest.raises(TypeError): |
27 | | - dpctl.utils.get_execution_queue(dict()) |
28 | | - |
29 | | - |
30 | | -def test_get_execution_queue(): |
31 | | - try: |
32 | | - q = dpctl.SyclQueue() |
33 | | - q2 = dpctl.SyclQueue() |
34 | | - except dpctl.SyclQueueCreationError: |
35 | | - pytest.skip("Queue could not be create for default device") |
36 | | - |
37 | | - exec_q = dpctl.utils.get_execution_queue(()) |
38 | | - assert exec_q is None |
39 | | - |
40 | | - exec_q = dpctl.utils.get_execution_queue([q]) |
41 | | - assert exec_q is q |
42 | | - |
43 | | - exec_q = dpctl.utils.get_execution_queue([q, q, q, q]) |
44 | | - assert exec_q is q |
45 | | - |
46 | | - exec_q = dpctl.utils.get_execution_queue((q, q, None, q)) |
47 | | - assert exec_q is None |
48 | | - |
49 | | - exec_q = dpctl.utils.get_execution_queue( |
50 | | - ( |
51 | | - q, |
52 | | - q2, |
53 | | - q, |
54 | | - ) |
55 | | - ) |
56 | | - assert exec_q is None |
57 | | - q_c = dpctl.SyclQueue(q._get_capsule()) |
58 | | - assert q == q_c |
59 | | - exec_q = dpctl.utils.get_execution_queue( |
60 | | - ( |
61 | | - q, |
62 | | - q_c, |
63 | | - q, |
64 | | - ) |
65 | | - ) |
66 | | - assert exec_q == q |
67 | | - |
68 | | - |
69 | | -def test_get_execution_queue_nonequiv(): |
70 | | - try: |
71 | | - q = dpctl.SyclQueue("cpu") |
72 | | - d1, d2 = q.sycl_device.create_sub_devices(partition=[1, 1]) |
73 | | - ctx = dpctl.SyclContext([q.sycl_device, d1, d2]) |
74 | | - q1 = dpctl.SyclQueue(ctx, d1) |
75 | | - q2 = dpctl.SyclQueue(ctx, d2) |
76 | | - except dpctl.SyclQueueCreationError: |
77 | | - pytest.skip("Queue could not be create for default device") |
78 | | - |
79 | | - exec_q = dpctl.utils.get_execution_queue((q, q1, q2)) |
80 | | - assert exec_q is None |
81 | | - |
82 | | - |
83 | | -def test_get_coerced_usm_type(): |
84 | | - _t = ["device", "shared", "host"] |
85 | | - |
86 | | - for i1 in range(len(_t)): |
87 | | - for i2 in range(len(_t)): |
88 | | - assert ( |
89 | | - dpctl.utils.get_coerced_usm_type([_t[i1], _t[i2]]) |
90 | | - == _t[min(i1, i2)] |
91 | | - ) |
92 | | - |
93 | | - assert dpctl.utils.get_coerced_usm_type([]) is None |
94 | | - with pytest.raises(TypeError): |
95 | | - dpctl.utils.get_coerced_usm_type(dict()) |
96 | | - |
97 | | - |
98 | | -def validate_usm_type_arg(): |
99 | | - _t = ["device", "shared", "host"] |
100 | | - |
101 | | - for i in range(len(_t)): |
102 | | - dpctl.utils.validate_usm_type(_t[i]) |
103 | | - dpctl.utils.validate_usm_type(_t[i], allow_none=False) |
104 | | - dpctl.utils.validate_usm_type(None, allow_none=True) |
105 | | - with pytest.raises(TypeError): |
106 | | - dpctl.utils.validate_usm_type(dict(), allow_none=True) |
107 | | - with pytest.raises(TypeError): |
108 | | - dpctl.utils.validate_usm_type(dict(), allow_none=False) |
109 | | - with pytest.raises(ValueError): |
110 | | - dpctl.utils.validate_usm_type("inv", allow_none=True) |
111 | | - with pytest.raises(ValueError): |
112 | | - dpctl.utils.validate_usm_type("inv", allow_none=False) |
113 | | - |
114 | | - |
115 | 25 | @pytest.mark.filterwarnings("ignore:.*:RuntimeWarning") |
116 | 26 | def test_onetrace_enabled(): |
117 | 27 | import os |
|
0 commit comments