@@ -68,6 +68,8 @@ def test_calls_generate_build_system_if_build_tree_nonexistent(
6868 ):
6969 program = mbed_program .from_existing ()
7070 with mock_project_directory (program , mbed_config_exists = True , build_tree_exists = False ):
71+ generate_config .return_value = [mock .MagicMock (), mock .MagicMock ()]
72+
7173 runner = CliRunner ()
7274 runner .invoke (build , DEFAULT_BUILD_ARGS )
7375
@@ -154,6 +156,8 @@ def test_build_system_regenerated_when_mbed_os_path_passed(
154156 build_tree_exists = True ,
155157 build_subdir = pathlib .Path ("K64F" , "develop" , "GCC_ARM" ),
156158 ):
159+ generate_config .return_value = [mock .MagicMock (), mock .MagicMock ()]
160+
157161 toolchain = "gcc_arm"
158162 target = "k64f"
159163 mbed_os_path = "./extern/mbed-os"
@@ -189,6 +193,8 @@ def test_build_folder_removed_when_clean_flag_passed(
189193 build_tree_exists = True ,
190194 build_subdir = pathlib .Path ("K64F" , "develop" , "GCC_ARM" ),
191195 ):
196+ generate_config .return_value = [mock .MagicMock (), mock .MagicMock ()]
197+
192198 toolchain = "gcc_arm"
193199 target = "k64f"
194200
@@ -201,31 +207,55 @@ def test_build_folder_removed_when_clean_flag_passed(
201207
202208 @mock .patch ("mbed_tools.cli.build.flash_binary" )
203209 @mock .patch ("mbed_tools.cli.build.find_all_connected_devices" )
204- def test_build_flash_option (
205- self , mock_find_devices , flash_binary , generate_config , mbed_program , build_project , generate_build_system
210+ def test_build_flash_options_bin_target (
211+ self ,
212+ mock_find_devices ,
213+ flash_binary ,
214+ generate_config ,
215+ mbed_program ,
216+ build_project ,
217+ generate_build_system ,
206218 ):
219+ # A target with bin images does not need OUTPUT_EXT defined
220+ generate_config .return_value = [mock .MagicMock (), mock .MagicMock ()]
207221 mock_find_devices .return_value = [mock .MagicMock ()]
208222 runner = CliRunner ()
209223 runner .invoke (build , ["--flash" , * DEFAULT_BUILD_ARGS ])
210- flash_binary .assert_called_once ()
224+ call_args = flash_binary .call_args
225+ args , kwargs = call_args
226+ flash_binary .assert_called_once_with (args [0 ], args [1 ], args [2 ], args [3 ], False )
211227
212228 @mock .patch ("mbed_tools.cli.build.flash_binary" )
213229 @mock .patch ("mbed_tools.cli.build.find_all_connected_devices" )
214- def test_build_flash_and_hex_file_options (
215- self , mock_find_devices , flash_binary , generate_config , mbed_program , build_project , generate_build_system
230+ def test_build_flash_options_hex_target (
231+ self ,
232+ mock_find_devices ,
233+ flash_binary ,
234+ generate_config ,
235+ mbed_program ,
236+ build_project ,
237+ generate_build_system ,
216238 ):
239+ generate_config .return_value = [{"OUTPUT_EXT" : "hex" }, mock .MagicMock ()]
217240 mock_find_devices .return_value = [mock .MagicMock ()]
218241 runner = CliRunner ()
219- runner .invoke (build , ["--flash" , "--hex-file" , * DEFAULT_BUILD_ARGS ])
242+ runner .invoke (build , ["--flash" , * DEFAULT_BUILD_ARGS ])
220243 call_args = flash_binary .call_args
221244 args , kwargs = call_args
222245 flash_binary .assert_called_once_with (args [0 ], args [1 ], args [2 ], args [3 ], True )
223246
224247 @mock .patch ("mbed_tools.cli.build.flash_binary" )
225248 @mock .patch ("mbed_tools.cli.build.find_all_connected_devices" )
226249 def test_build_flash_both_two_devices (
227- self , mock_find_devices , flash_binary , generate_config , mbed_program , build_project , generate_build_system
250+ self ,
251+ mock_find_devices ,
252+ flash_binary ,
253+ generate_config ,
254+ mbed_program ,
255+ build_project ,
256+ generate_build_system ,
228257 ):
258+ generate_config .return_value = [mock .MagicMock (), mock .MagicMock ()]
229259 mock_find_devices .return_value = [mock .MagicMock (), mock .MagicMock ()]
230260 runner = CliRunner ()
231261 runner .invoke (build , ["--flash" , * DEFAULT_BUILD_ARGS ])
@@ -234,19 +264,20 @@ def test_build_flash_both_two_devices(
234264 @mock .patch ("mbed_tools.cli.build.flash_binary" )
235265 @mock .patch ("mbed_tools.cli.build.find_connected_device" )
236266 def test_build_flash_only_identifier_device (
237- self , mock_find_device , flash_binary , generate_config , mbed_program , build_project , generate_build_system
267+ self ,
268+ mock_find_device ,
269+ flash_binary ,
270+ generate_config ,
271+ mbed_program ,
272+ build_project ,
273+ generate_build_system ,
238274 ):
275+ generate_config .return_value = [mock .MagicMock (), mock .MagicMock ()]
239276 mock_find_device .return_value = mock .MagicMock ()
240277 runner = CliRunner ()
241278 runner .invoke (build , ["--flash" , "-m" , "K64F[1]" , "-t" , "GCC_ARM" ])
242279 self .assertEqual (flash_binary .call_count , 1 )
243280
244- def test_build_only_hex_file_option (self , generate_config , mbed_program , build_project , generate_build_system ):
245- runner = CliRunner ()
246- result = runner .invoke (build , ["--hex-file" , * DEFAULT_BUILD_ARGS ])
247-
248- self .assertRegex (result .output , "-f/--flash" )
249-
250281 @mock .patch ("mbed_tools.cli.build.terminal" )
251282 @mock .patch ("mbed_tools.cli.build.find_connected_device" )
252283 def test_sterm_is_started_when_flag_passed (
@@ -256,6 +287,7 @@ def test_sterm_is_started_when_flag_passed(
256287 serial_port = "tty.k64f"
257288 baud = 115200
258289 mock_find_device .return_value = mock .Mock (serial_port = serial_port )
290+ generate_config .return_value = [mock .MagicMock (), mock .MagicMock ()]
259291
260292 CliRunner ().invoke (build , ["-m" , target , "-t" , "gcc_arm" , "--sterm" , "--baudrate" , baud ])
261293
@@ -270,6 +302,7 @@ def test_raises_if_device_does_not_have_serial_port_and_sterm_flag_given(
270302 target = "K64F"
271303 serial_port = None
272304 mock_find_device .return_value = mock .Mock (serial_port = serial_port )
305+ generate_config .return_value = [mock .MagicMock (), mock .MagicMock ()]
273306
274307 output = CliRunner ().invoke (build , ["-m" , target , "-t" , "gcc_arm" , "--sterm" ])
275308 self .assertEqual (type (output .exception ), SystemExit )
0 commit comments