@@ -1012,7 +1012,7 @@ def test_setitem_same_dtype(dtype, src_usm_type, dst_usm_type):
10121012 Zusm_empty [Ellipsis ] = Zusm_3d [0 , 0 , 0 :0 ]
10131013
10141014
1015- def test_setitem_boradcasting ():
1015+ def test_setitem_broadcasting ():
10161016 get_queue_or_skip ()
10171017 dst = dpt .ones ((2 , 3 , 4 ), dtype = "u4" )
10181018 src = dpt .zeros ((3 , 1 ), dtype = dst .dtype )
@@ -1021,6 +1021,24 @@ def test_setitem_boradcasting():
10211021 assert np .array_equal (dpt .asnumpy (dst ), expected )
10221022
10231023
1024+ def test_setitem_broadcasting_empty_dst_validation ():
1025+ "Broadcasting rules apply, except exception"
1026+ get_queue_or_skip ()
1027+ dst = dpt .ones ((2 , 0 , 5 , 4 ), dtype = "i8" )
1028+ src = dpt .ones ((2 , 0 , 3 , 4 ), dtype = "i8" )
1029+ with pytest .raises (ValueError ):
1030+ dst [...] = src
1031+
1032+
1033+ def test_setitem_broadcasting_empty_dst_edge_case ():
1034+ """RHS is shunken to empty array by
1035+ broadasting rule, hence no exception"""
1036+ get_queue_or_skip ()
1037+ dst = dpt .ones (1 , dtype = "i8" )[0 :0 ]
1038+ src = dpt .ones (tuple (), dtype = "i8" )
1039+ dst [...] = src
1040+
1041+
10241042@pytest .mark .parametrize (
10251043 "dtype" ,
10261044 _all_dtypes ,
0 commit comments