@@ -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
9194def test_promoted_scalar_inherits_device ():
9295 device1 = Device ("device1" )
0 commit comments