@@ -1012,7 +1012,7 @@ def test_setitem_same_dtype(dtype, src_usm_type, dst_usm_type):
1012
1012
Zusm_empty [Ellipsis ] = Zusm_3d [0 , 0 , 0 :0 ]
1013
1013
1014
1014
1015
- def test_setitem_boradcasting ():
1015
+ def test_setitem_broadcasting ():
1016
1016
get_queue_or_skip ()
1017
1017
dst = dpt .ones ((2 , 3 , 4 ), dtype = "u4" )
1018
1018
src = dpt .zeros ((3 , 1 ), dtype = dst .dtype )
@@ -1021,6 +1021,24 @@ def test_setitem_boradcasting():
1021
1021
assert np .array_equal (dpt .asnumpy (dst ), expected )
1022
1022
1023
1023
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
+
1024
1042
@pytest .mark .parametrize (
1025
1043
"dtype" ,
1026
1044
_all_dtypes ,
0 commit comments