@@ -15,6 +15,22 @@ def test_matmul():
1515
1616 assert np .allclose (np .eye (size ),C )
1717
18+ with pytest .raises (AssertionError ):
19+ A = np .empty ((size ,size + 1 ))
20+ B = np .empty ((size ,size ))
21+ C = np .empty ((size ,size ))
22+ matmul (A ,B ,C ,None )
23+ A = np .empty ((size + 1 ,size ))
24+ B = np .empty ((size ,size ))
25+ C = np .empty ((size ,size ))
26+ matmul (A ,B ,C ,None )
27+ A = np .empty ((size ,size ))
28+ B = np .empty ((size ,size + 1 ))
29+ C = np .empty ((size ,size ))
30+ matmul (A ,B ,C ,None )
31+
32+
33+
1834def test_matmul_numba_cpu ():
1935 size = 20
2036 np .random .seed (0 )
@@ -26,6 +42,21 @@ def test_matmul_numba_cpu():
2642
2743 assert np .allclose (np .eye (size ),C )
2844
45+ with pytest .raises (AssertionError ):
46+ A = np .empty ((size ,size + 1 ),dtype = np .float64 )
47+ B = np .empty ((size ,size ),dtype = np .float64 )
48+ C = np .empty ((size ,size ),dtype = np .float64 )
49+ matmul_numba_cpu (A ,B ,C ,None )
50+ A = np .empty ((size + 1 ,size ),dtype = np .float64 )
51+ B = np .empty ((size ,size ),dtype = np .float64 )
52+ C = np .empty ((size ,size ),dtype = np .float64 )
53+ matmul_numba_cpu (A ,B ,C ,None )
54+ A = np .empty ((size ,size ),dtype = np .float64 )
55+ B = np .empty ((size ,size + 1 ),dtype = np .float64 )
56+ C = np .empty ((size ,size ),dtype = np .float64 )
57+ matmul_numba_cpu (A ,B ,C ,None )
58+
59+
2960def test_matmul_numba_serial ():
3061 size = 20
3162 np .random .seed (0 )
@@ -37,6 +68,20 @@ def test_matmul_numba_serial():
3768
3869 assert np .allclose (np .eye (size ),C )
3970
71+ with pytest .raises (AssertionError ):
72+ A = np .empty ((size ,size + 1 ))
73+ B = np .empty ((size ,size ))
74+ C = np .empty ((size ,size ))
75+ matmul_numba_serial (A ,B ,C ,None )
76+ A = np .empty ((size + 1 ,size ))
77+ B = np .empty ((size ,size ))
78+ C = np .empty ((size ,size ))
79+ matmul_numba_serial (A ,B ,C ,None )
80+ A = np .empty ((size ,size ))
81+ B = np .empty ((size ,size + 1 ))
82+ C = np .empty ((size ,size ))
83+ matmul_numba_serial (A ,B ,C ,None )
84+
4085def test_matmul_numba_block_cpu ():
4186 size = 20
4287 np .random .seed (0 )
@@ -48,6 +93,20 @@ def test_matmul_numba_block_cpu():
4893
4994 assert np .allclose (np .eye (size ),C )
5095
96+ with pytest .raises (AssertionError ):
97+ A = np .empty ((size ,size + 1 ))
98+ B = np .empty ((size ,size ))
99+ C = np .empty ((size ,size ))
100+ matmul_numba_block_cpu (A ,B ,C ,6 )
101+ A = np .empty ((size + 1 ,size ))
102+ B = np .empty ((size ,size ))
103+ C = np .empty ((size ,size ))
104+ matmul_numba_block_cpu (A ,B ,C ,6 )
105+ A = np .empty ((size ,size ))
106+ B = np .empty ((size ,size + 1 ))
107+ C = np .empty ((size ,size ))
108+ matmul_numba_block_cpu (A ,B ,C ,6 )
109+
51110def test_matmul_numba_block_serial ():
52111 size = 20
53112 np .random .seed (0 )
@@ -59,6 +118,20 @@ def test_matmul_numba_block_serial():
59118
60119 assert np .allclose (np .eye (size ),C )
61120
121+ with pytest .raises (AssertionError ):
122+ A = np .empty ((size ,size + 1 ))
123+ B = np .empty ((size ,size ))
124+ C = np .empty ((size ,size ))
125+ matmul_numba_block_serial (A ,B ,C ,6 )
126+ A = np .empty ((size + 1 ,size ))
127+ B = np .empty ((size ,size ))
128+ C = np .empty ((size ,size ))
129+ matmul_numba_block_serial (A ,B ,C ,6 )
130+ A = np .empty ((size ,size ))
131+ B = np .empty ((size ,size + 1 ))
132+ C = np .empty ((size ,size ))
133+ matmul_numba_block_serial (A ,B ,C ,6 )
134+
62135@pytest .mark .skipif ((not numba .cuda .is_available ()), reason = 'Could not find any CUDA GPU' )
63136def test_matmul_numba_gpu ():
64137 size = 20
@@ -81,6 +154,9 @@ def test_matmul_numba_gpu():
81154
82155 assert np .allclose (np .eye (size ),C )
83156
157+ # No tests for assertion errors on matrix shape since they are only available
158+ # for debug=True
159+
84160@pytest .mark .skipif ((not numba .cuda .is_available ()), reason = 'Could not find any CUDA GPU' )
85161def test_matmul_numba_block_gpu ():
86162 size = 20
@@ -103,4 +179,5 @@ def test_matmul_numba_block_gpu():
103179
104180 assert np .allclose (np .eye (size ),C )
105181
106-
182+ # No tests for assertion errors on matrix shape since they are only available
183+ # for debug=True
0 commit comments