@@ -1049,25 +1049,29 @@ def mock_availability(handler, instance, no=num_of_failures):
1049
1049
None ,
1050
1050
None ,
1051
1051
None ,
1052
+ None ,
1052
1053
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ]
1053
1054
),
1054
1055
(
1055
1056
[],
1056
1057
None ,
1057
1058
None ,
1059
+ None ,
1058
1060
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ]
1059
1061
),
1060
1062
(
1061
1063
'--dummy' ,
1062
1064
None ,
1063
1065
None ,
1066
+ None ,
1064
1067
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1065
1068
'--' , '--dummy' ]
1066
1069
),
1067
1070
(
1068
1071
'--dummy1,--dummy2' ,
1069
1072
None ,
1070
1073
None ,
1074
+ None ,
1071
1075
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1072
1076
'--' , '--dummy1' , '--dummy2' ]
1073
1077
),
@@ -1076,6 +1080,7 @@ def mock_availability(handler, instance, no=num_of_failures):
1076
1080
None ,
1077
1081
'runner' ,
1078
1082
'product' ,
1083
+ None ,
1079
1084
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1080
1085
'--runner' , 'runner' , 'param1' , 'param2' ]
1081
1086
),
@@ -1084,20 +1089,23 @@ def mock_availability(handler, instance, no=num_of_failures):
1084
1089
None ,
1085
1090
'pyocd' ,
1086
1091
'product' ,
1092
+ None ,
1087
1093
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1088
1094
'--runner' , 'pyocd' , 'param1' , 'param2' , '--' , '--dev-id' , 12345 ]
1089
1095
),
1090
1096
(
1091
1097
None ,
1092
1098
'nrfjprog' ,
1093
1099
'product' ,
1100
+ None ,
1094
1101
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1095
1102
'--runner' , 'nrfjprog' , 'param1' , 'param2' , '--' , '--dev-id' , 12345 ]
1096
1103
),
1097
1104
(
1098
1105
None ,
1099
1106
'openocd' ,
1100
1107
'STM32 STLink' ,
1108
+ None ,
1101
1109
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1102
1110
'--runner' , 'openocd' , 'param1' , 'param2' ,
1103
1111
'--' , '--cmd-pre-init' , 'hla_serial 12345' ]
@@ -1106,6 +1114,7 @@ def mock_availability(handler, instance, no=num_of_failures):
1106
1114
None ,
1107
1115
'openocd' ,
1108
1116
'STLINK-V3' ,
1117
+ None ,
1109
1118
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1110
1119
'--runner' , 'openocd' , 'param1' , 'param2' ,
1111
1120
'--' , '--cmd-pre-init' , 'hla_serial 12345' ]
@@ -1114,6 +1123,7 @@ def mock_availability(handler, instance, no=num_of_failures):
1114
1123
None ,
1115
1124
'openocd' ,
1116
1125
'EDBG CMSIS-DAP' ,
1126
+ None ,
1117
1127
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1118
1128
'--runner' , 'openocd' , 'param1' , 'param2' ,
1119
1129
'--' , '--cmd-pre-init' , 'cmsis_dap_serial 12345' ]
@@ -1122,6 +1132,7 @@ def mock_availability(handler, instance, no=num_of_failures):
1122
1132
None ,
1123
1133
'jlink' ,
1124
1134
'product' ,
1135
+ None ,
1125
1136
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1126
1137
'--runner' , 'jlink' , '--dev-id' , 12345 ,
1127
1138
'param1' , 'param2' ]
@@ -1130,23 +1141,39 @@ def mock_availability(handler, instance, no=num_of_failures):
1130
1141
None ,
1131
1142
'stm32cubeprogrammer' ,
1132
1143
'product' ,
1144
+ None ,
1133
1145
['west' , 'flash' , '--skip-rebuild' , '-d' , '$build_dir' ,
1134
1146
'--runner' , 'stm32cubeprogrammer' , '--tool-opt=sn=12345' ,
1135
1147
'param1' , 'param2' ]
1136
1148
),
1137
-
1149
+ (
1150
+ None ,
1151
+ None ,
1152
+ None ,
1153
+ 'flash_command' ,
1154
+ ['flash_command' , '--build-dir' , '$build_dir' , '--board-id' , 12345 ]
1155
+ ),
1156
+ (
1157
+ None ,
1158
+ None ,
1159
+ None ,
1160
+ 'path to/flash_command,with,args,"1,2,3",4' ,
1161
+ ['path to/flash_command' , '--build-dir' , '$build_dir' , '--board-id' ,
1162
+ 12345 , 'with' , 'args' , '1,2,3' , '4' ]
1163
+ ),
1138
1164
]
1139
1165
1140
1166
TESTDATA_13_2 = [(True ), (False )]
1141
1167
1142
1168
@pytest .mark .parametrize (
1143
1169
'self_west_flash, runner,' \
1144
- ' hardware_product_name, expected' ,
1170
+ ' hardware_product_name, self_flash_command, expected' ,
1145
1171
TESTDATA_13 ,
1146
1172
ids = ['default' , '--west-flash' , 'one west flash value' ,
1147
1173
'multiple west flash values' , 'generic runner' , 'pyocd' ,
1148
1174
'nrfjprog' , 'openocd, STM32 STLink' , 'openocd, STLINK-v3' ,
1149
- 'openocd, EDBG CMSIS-DAP' , 'jlink' , 'stm32cubeprogrammer' ]
1175
+ 'openocd, EDBG CMSIS-DAP' , 'jlink' , 'stm32cubeprogrammer' ,
1176
+ 'flash_command' , 'flash_command with args' ]
1150
1177
)
1151
1178
@pytest .mark .parametrize ('hardware_probe' , TESTDATA_13_2 , ids = ['probe' , 'id' ])
1152
1179
def test_devicehandler_create_command (
@@ -1155,10 +1182,12 @@ def test_devicehandler_create_command(
1155
1182
runner ,
1156
1183
hardware_probe ,
1157
1184
hardware_product_name ,
1185
+ self_flash_command ,
1158
1186
expected
1159
1187
):
1160
1188
handler = DeviceHandler (mocked_instance , 'build' , mock .Mock ())
1161
- handler .options = mock .Mock (west_flash = self_west_flash )
1189
+ handler .options = mock .Mock (west_flash = self_west_flash ,
1190
+ flash_command = self_flash_command )
1162
1191
handler .generator_cmd = 'generator_cmd'
1163
1192
1164
1193
expected = [handler .build_dir if val == '$build_dir' else \
0 commit comments