@@ -45,6 +45,7 @@ def generate_expected_output(
45
45
"" ,
46
46
"arduino:avr:uno" ,
47
47
48
+ [],
48
49
"/dev/ttyACM0" ,
49
50
'"{data_dir}/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude"' ,
50
51
"{tool_executable} "
@@ -55,6 +56,7 @@ def generate_expected_output(
55
56
"" ,
56
57
"arduino:avr:leonardo" ,
57
58
59
+ [],
58
60
"/dev/ttyACM999" ,
59
61
'"{data_dir}/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude"' ,
60
62
"{tool_executable} "
@@ -65,6 +67,7 @@ def generate_expected_output(
65
67
"https://adafruit.github.io/arduino-board-index/package_adafruit_index.json" ,
66
68
"adafruit:avr:flora8" ,
67
69
70
+
68
71
"/dev/ttyACM0" ,
69
72
'"{data_dir}/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude"' ,
70
73
"{tool_executable} "
@@ -75,6 +78,7 @@ def generate_expected_output(
75
78
"https://adafruit.github.io/arduino-board-index/package_adafruit_index.json" ,
76
79
"adafruit:avr:flora8" ,
77
80
81
+
78
82
"/dev/ttyACM999" ,
79
83
'"{data_dir}/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude"' ,
80
84
"{tool_executable} "
@@ -85,6 +89,7 @@ def generate_expected_output(
85
89
"https://dl.espressif.com/dl/package_esp32_index.json" ,
86
90
"esp32:esp32:esp32thing" ,
87
91
92
+ [],
88
93
"/dev/ttyACM0" ,
89
94
{
90
95
"linux" : 'python "{data_dir}/packages/esp32/tools/esptool_py/3.0.0/esptool.py"' ,
@@ -102,6 +107,7 @@ def generate_expected_output(
102
107
"http://arduino.esp8266.com/stable/package_esp8266com_index.json" ,
103
108
"esp8266:esp8266:generic" ,
104
109
110
+ [],
105
111
"/dev/ttyACM0" ,
106
112
'"{data_dir}/packages/esp8266/tools/python3/3.7.2-post1/python3"' ,
107
113
"{tool_executable} "
@@ -113,9 +119,18 @@ def generate_expected_output(
113
119
]
114
120
115
121
116
- @pytest .mark .parametrize ("package_index, fqbn, core, upload_port, upload_tools, output" , testdata )
122
+ @pytest .mark .parametrize ("package_index, fqbn, core, deps, upload_port, upload_tools, output" , testdata )
117
123
def test_upload_sketch (
118
- run_command , session_data_dir , downloads_dir , package_index , fqbn , core , upload_port , upload_tools , output
124
+ run_command ,
125
+ session_data_dir ,
126
+ downloads_dir ,
127
+ package_index ,
128
+ fqbn ,
129
+ core ,
130
+ core_dependencies ,
131
+ upload_port ,
132
+ upload_tools ,
133
+ output ,
119
134
):
120
135
env = {
121
136
"ARDUINO_DATA_DIR" : session_data_dir ,
@@ -130,6 +145,9 @@ def test_upload_sketch(
130
145
131
146
assert run_command (f"core install { core } " , custom_env = env )
132
147
148
+ for d in core_dependencies :
149
+ assert run_command (f"core install { d } " , custom_env = env )
150
+
133
151
# Create a sketch
134
152
sketch_name = "TestSketchForUpload"
135
153
sketch_path = Path (session_data_dir , sketch_name )
0 commit comments