Skip to content

Commit a8f9375

Browse files
committed
TST: fix tests for disallowed array indexing
Several assertions were raising for "wrong" reasons.
1 parent 5ccb0e7 commit a8f9375

File tree

1 file changed

+26
-23
lines changed

1 file changed

+26
-23
lines changed

array_api_strict/tests/test_array_object.py

+26-23
Original file line numberDiff line numberDiff line change
@@ -45,35 +45,37 @@ def test_validate_index():
4545
a = ones((3, 4))
4646

4747
# Out of bounds slices are not allowed
48-
assert_raises(IndexError, lambda: a[:4])
49-
assert_raises(IndexError, lambda: a[:-4])
50-
assert_raises(IndexError, lambda: a[:3:-1])
51-
assert_raises(IndexError, lambda: a[:-5:-1])
52-
assert_raises(IndexError, lambda: a[4:])
53-
assert_raises(IndexError, lambda: a[-4:])
54-
assert_raises(IndexError, lambda: a[4::-1])
55-
assert_raises(IndexError, lambda: a[-4::-1])
56-
57-
assert_raises(IndexError, lambda: a[...,:5])
58-
assert_raises(IndexError, lambda: a[...,:-5])
59-
assert_raises(IndexError, lambda: a[...,:5:-1])
60-
assert_raises(IndexError, lambda: a[...,:-6:-1])
61-
assert_raises(IndexError, lambda: a[...,5:])
62-
assert_raises(IndexError, lambda: a[...,-5:])
63-
assert_raises(IndexError, lambda: a[...,5::-1])
64-
assert_raises(IndexError, lambda: a[...,-5::-1])
48+
assert_raises(IndexError, lambda: a[:4, 0])
49+
assert_raises(IndexError, lambda: a[:-4, 0])
50+
assert_raises(IndexError, lambda: a[:3:-1]) # XXX raises for a wrong reason
51+
assert_raises(IndexError, lambda: a[:-5:-1, 0])
52+
assert_raises(IndexError, lambda: a[4:, 0])
53+
assert_raises(IndexError, lambda: a[-4:, 0])
54+
assert_raises(IndexError, lambda: a[4::-1, 0])
55+
assert_raises(IndexError, lambda: a[-4::-1, 0])
56+
57+
assert_raises(IndexError, lambda: a[..., :5])
58+
assert_raises(IndexError, lambda: a[..., :-5])
59+
assert_raises(IndexError, lambda: a[..., :5:-1])
60+
assert_raises(IndexError, lambda: a[..., :-6:-1])
61+
assert_raises(IndexError, lambda: a[..., 5:])
62+
assert_raises(IndexError, lambda: a[..., -5:])
63+
assert_raises(IndexError, lambda: a[..., 5::-1])
64+
assert_raises(IndexError, lambda: a[..., -5::-1])
6565

6666
# Boolean indices cannot be part of a larger tuple index
67-
assert_raises(IndexError, lambda: a[a[:,0]==1,0])
68-
assert_raises(IndexError, lambda: a[a[:,0]==1,...])
69-
assert_raises(IndexError, lambda: a[..., a[0]==1])
67+
assert_raises(IndexError, lambda: a[a[:, 0] == 1, 0])
68+
assert_raises(IndexError, lambda: a[a[:, 0] == 1, ...])
69+
assert_raises(IndexError, lambda: a[..., a[0] == 1])
7070
assert_raises(IndexError, lambda: a[[True, True, True]])
7171
assert_raises(IndexError, lambda: a[(True, True, True),])
7272

7373
# Integer array indices are not allowed (except for 0-D)
74-
idx = asarray([[0, 1]])
75-
assert_raises(IndexError, lambda: a[idx])
76-
assert_raises(IndexError, lambda: a[idx,])
74+
idx = asarray([0, 1])
75+
assert_raises(IndexError, lambda: a[idx, 0])
76+
assert_raises(IndexError, lambda: a[0, idx])
77+
78+
# Array-likes (lists, tuples) are not allowed as indices
7779
assert_raises(IndexError, lambda: a[[0, 1]])
7880
assert_raises(IndexError, lambda: a[(0, 1), (0, 1)])
7981
assert_raises(IndexError, lambda: a[[0, 1]])
@@ -87,6 +89,7 @@ def test_validate_index():
8789
assert_raises(IndexError, lambda: a[0,])
8890
assert_raises(IndexError, lambda: a[0])
8991
assert_raises(IndexError, lambda: a[:])
92+
assert_raises(IndexError, lambda: a[idx])
9093

9194
def test_promoted_scalar_inherits_device():
9295
device1 = Device("device1")

0 commit comments

Comments
 (0)