Skip to content

Commit b322874

Browse files
committed
test_upload_mock: Handle '{' and '}' in recipes
1 parent 41db8b5 commit b322874

File tree

1 file changed

+16
-25
lines changed

1 file changed

+16
-25
lines changed

test/test_upload_mock.py

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import pytest
2020
import os
2121
from pathlib import Path
22-
from typing import Union
2322

2423

2524
def 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-
4731
indexes = [
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

Comments
 (0)