1919import pytest
2020import os
2121from pathlib import Path
22- from typing import Union
2322
2423
2524def generate_build_dir (sketch_path ):
@@ -29,21 +28,6 @@ def generate_build_dir(sketch_path):
2928 return build_dir .resolve ()
3029
3130
32- def generate_expected_output (
33- output : Union [dict , str ], data_dir : str , upload_port : str , build_dir : str , sketch_name : str
34- ) -> str :
35- if isinstance (output , str ):
36- out = output
37- else :
38- out = output [sys .platform ]
39- return out .format (
40- data_dir = data_dir ,
41- upload_port = upload_port ,
42- build_dir = build_dir ,
43- sketch_name = sketch_name ,
44- ).replace ("\\ " , "/" )
45-
46-
4731indexes = [
4832 "https://adafruit.github.io/arduino-board-index/package_adafruit_index.json" ,
4933 "https://dl.espressif.com/dl/package_esp32_index.json" ,
@@ -478,24 +462,24 @@ def generate_expected_output(
478462 "-f "
479463 '"{data_dir}/packages/arduino/hardware/samd/1.8.11/variants/arduino_zero/openocd_scripts/arduino_zero.cfg" '
480464 '-c "telnet_port disabled; program '
481- "{{build_dir}/{sketch_name}.ino.bin} verify reset 0x2000; "
482- 'shutdown"\n ' ,
465+ "{bo} {build_dir}/{sketch_name}.ino.bin{bc } verify reset "
466+ '0x2000; shutdown"\n ' ,
483467 "linux" : '"{data_dir}/packages/arduino/tools/openocd/0.10.0-arduino7/bin/openocd" '
484468 "-d2 -s "
485469 '"{data_dir}/packages/arduino/tools/openocd/0.10.0-arduino7/share/openocd/scripts/" '
486470 "-f "
487471 '"{data_dir}/packages/arduino/hardware/samd/1.8.11/variants/arduino_zero/openocd_scripts/arduino_zero.cfg" '
488472 '-c "telnet_port disabled; program '
489- "{{build_dir}/{sketch_name}.ino.bin} verify reset 0x2000; "
490- 'shutdown"\n ' ,
473+ "{bo} {build_dir}/{sketch_name}.ino.bin{bc } verify reset "
474+ '0x2000; shutdown"\n ' ,
491475 "win32" : '"{data_dir}/packages/arduino/tools/openocd/0.10.0-arduino7/bin/openocd.exe" '
492476 "-d2 -s "
493477 '"{data_dir}/packages/arduino/tools/openocd/0.10.0-arduino7/share/openocd/scripts/" '
494478 "-f "
495479 '"{data_dir}/packages/arduino/hardware/samd/1.8.11/variants/arduino_zero/openocd_scripts/arduino_zero.cfg" '
496480 '-c "telnet_port disabled; program '
497- "{{build_dir}/{sketch_name}.ino.bin} verify reset 0x2000; "
498- 'shutdown"\n ' ,
481+ "{bo} {build_dir}/{sketch_name}.ino.bin{bc } verify reset "
482+ '0x2000; shutdown"\n ' ,
499483 },
500484 ),
501485 (
@@ -1214,10 +1198,17 @@ def test_upload_sketch(
12141198 res = run_command (f'upload { port_arg } { programmer_arg } -b { fqbn } "{ sketch_path } " --dry-run -v' , custom_env = env )
12151199 assert res .ok
12161200
1217- generate_expected_output (
1218- output = output ,
1201+ if isinstance (output , str ):
1202+ out = output
1203+ else :
1204+ out = output [sys .platform ]
1205+ expected_output = out .format (
12191206 data_dir = session_data_dir ,
12201207 upload_port = upload_port ,
12211208 build_dir = build_dir ,
12221209 sketch_name = sketch_name ,
1223- ) in res .stdout .replace ("\\ " , "/" ).replace ("\r " , "" )
1210+ bo = "{" ,
1211+ bc = "}" ,
1212+ ).replace ("\\ " , "/" )
1213+
1214+ expected_output in res .stdout .replace ("\\ " , "/" ).replace ("\r " , "" )
0 commit comments