19
19
import pytest
20
20
import os
21
21
from pathlib import Path
22
- from typing import Union
23
22
24
23
25
24
def generate_build_dir (sketch_path ):
@@ -29,21 +28,6 @@ def generate_build_dir(sketch_path):
29
28
return build_dir .resolve ()
30
29
31
30
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
-
47
31
indexes = [
48
32
"https://adafruit.github.io/arduino-board-index/package_adafruit_index.json" ,
49
33
"https://dl.espressif.com/dl/package_esp32_index.json" ,
@@ -478,24 +462,24 @@ def generate_expected_output(
478
462
"-f "
479
463
'"{data_dir}/packages/arduino/hardware/samd/1.8.11/variants/arduino_zero/openocd_scripts/arduino_zero.cfg" '
480
464
'-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 ' ,
483
467
"linux" : '"{data_dir}/packages/arduino/tools/openocd/0.10.0-arduino7/bin/openocd" '
484
468
"-d2 -s "
485
469
'"{data_dir}/packages/arduino/tools/openocd/0.10.0-arduino7/share/openocd/scripts/" '
486
470
"-f "
487
471
'"{data_dir}/packages/arduino/hardware/samd/1.8.11/variants/arduino_zero/openocd_scripts/arduino_zero.cfg" '
488
472
'-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 ' ,
491
475
"win32" : '"{data_dir}/packages/arduino/tools/openocd/0.10.0-arduino7/bin/openocd.exe" '
492
476
"-d2 -s "
493
477
'"{data_dir}/packages/arduino/tools/openocd/0.10.0-arduino7/share/openocd/scripts/" '
494
478
"-f "
495
479
'"{data_dir}/packages/arduino/hardware/samd/1.8.11/variants/arduino_zero/openocd_scripts/arduino_zero.cfg" '
496
480
'-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 ' ,
499
483
},
500
484
),
501
485
(
@@ -1214,10 +1198,17 @@ def test_upload_sketch(
1214
1198
res = run_command (f'upload { port_arg } { programmer_arg } -b { fqbn } "{ sketch_path } " --dry-run -v' , custom_env = env )
1215
1199
assert res .ok
1216
1200
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 (
1219
1206
data_dir = session_data_dir ,
1220
1207
upload_port = upload_port ,
1221
1208
build_dir = build_dir ,
1222
1209
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