pytest-embedded 2.8.0__tar.gz → 2.8.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/PKG-INFO +1 -1
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pytest_embedded/__init__.py +1 -1
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pytest_embedded/dut_factory.py +9 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pytest_embedded/plugin.py +34 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/LICENSE +0 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/README.md +0 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pyproject.toml +0 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pytest_embedded/app.py +0 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pytest_embedded/dut.py +0 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pytest_embedded/log.py +0 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pytest_embedded/unity.py +0 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/pytest_embedded/utils.py +0 -0
- {pytest_embedded-2.8.0 → pytest_embedded-2.8.1}/tests/test_base.py +0 -0
|
@@ -141,6 +141,7 @@ def _fixture_classes_and_options_fn(
|
|
|
141
141
|
erase_all,
|
|
142
142
|
esptool_baud,
|
|
143
143
|
esp_flash_force,
|
|
144
|
+
no_fast_flash,
|
|
144
145
|
part_tool,
|
|
145
146
|
confirm_target_elf_sha256,
|
|
146
147
|
erase_nvs,
|
|
@@ -157,6 +158,7 @@ def _fixture_classes_and_options_fn(
|
|
|
157
158
|
qemu_extra_args,
|
|
158
159
|
qemu_efuse_path,
|
|
159
160
|
wokwi_diagram,
|
|
161
|
+
wokwi_usb_serial_jtag,
|
|
160
162
|
skip_regenerate_image,
|
|
161
163
|
encrypt,
|
|
162
164
|
keyfile,
|
|
@@ -253,6 +255,7 @@ def _fixture_classes_and_options_fn(
|
|
|
253
255
|
kwargs[fixture].update(
|
|
254
256
|
{
|
|
255
257
|
'app': None,
|
|
258
|
+
'fast_flash': not no_fast_flash if no_fast_flash is not None else True,
|
|
256
259
|
}
|
|
257
260
|
)
|
|
258
261
|
elif 'nuttx' in _services:
|
|
@@ -335,6 +338,7 @@ def _fixture_classes_and_options_fn(
|
|
|
335
338
|
kwargs[fixture].update(
|
|
336
339
|
{
|
|
337
340
|
'wokwi_diagram': wokwi_diagram,
|
|
341
|
+
'wokwi_usb_serial_jtag': wokwi_usb_serial_jtag,
|
|
338
342
|
'msg_queue': msg_queue,
|
|
339
343
|
'app': None,
|
|
340
344
|
'meta': _meta,
|
|
@@ -680,6 +684,7 @@ class DutFactory:
|
|
|
680
684
|
erase_all: bool | None = None,
|
|
681
685
|
esptool_baud: int | None = None,
|
|
682
686
|
esp_flash_force: bool | None = False,
|
|
687
|
+
no_fast_flash: bool | None = None,
|
|
683
688
|
part_tool: str | None = None,
|
|
684
689
|
confirm_target_elf_sha256: bool | None = None,
|
|
685
690
|
erase_nvs: bool | None = None,
|
|
@@ -696,6 +701,7 @@ class DutFactory:
|
|
|
696
701
|
qemu_extra_args: str | None = None,
|
|
697
702
|
qemu_efuse_path: str | None = None,
|
|
698
703
|
wokwi_diagram: str | None = None,
|
|
704
|
+
wokwi_usb_serial_jtag: bool | None = None,
|
|
699
705
|
skip_regenerate_image: bool | None = None,
|
|
700
706
|
encrypt: bool | None = None,
|
|
701
707
|
keyfile: str | None = None,
|
|
@@ -743,6 +749,7 @@ class DutFactory:
|
|
|
743
749
|
qemu_extra_args: Additional QEMU arguments.
|
|
744
750
|
qemu_efuse_path: Efuse binary path.
|
|
745
751
|
wokwi_diagram: Wokwi diagram path.
|
|
752
|
+
wokwi_usb_serial_jtag: Use USB Serial JTAG instead of UART for Wokwi serial communication.
|
|
746
753
|
skip_regenerate_image: Skip image regeneration flag.
|
|
747
754
|
encrypt: Encryption flag.
|
|
748
755
|
keyfile: Keyfile for encryption.
|
|
@@ -797,6 +804,7 @@ class DutFactory:
|
|
|
797
804
|
'erase_all': erase_all,
|
|
798
805
|
'esptool_baud': esptool_baud,
|
|
799
806
|
'esp_flash_force': esp_flash_force,
|
|
807
|
+
'no_fast_flash': no_fast_flash,
|
|
800
808
|
'part_tool': part_tool,
|
|
801
809
|
'confirm_target_elf_sha256': confirm_target_elf_sha256,
|
|
802
810
|
'erase_nvs': erase_nvs,
|
|
@@ -813,6 +821,7 @@ class DutFactory:
|
|
|
813
821
|
'qemu_extra_args': qemu_extra_args,
|
|
814
822
|
'qemu_efuse_path': qemu_efuse_path,
|
|
815
823
|
'wokwi_diagram': wokwi_diagram,
|
|
824
|
+
'wokwi_usb_serial_jtag': wokwi_usb_serial_jtag,
|
|
816
825
|
'skip_regenerate_image': skip_regenerate_image,
|
|
817
826
|
'encrypt': encrypt,
|
|
818
827
|
'keyfile': keyfile,
|
|
@@ -209,6 +209,17 @@ def pytest_addoption(parser):
|
|
|
209
209
|
action='store_true',
|
|
210
210
|
help='force mode for esptool',
|
|
211
211
|
)
|
|
212
|
+
arduino_group = parser.getgroup('embedded-arduino')
|
|
213
|
+
arduino_group.addoption(
|
|
214
|
+
'--no-fast-flash',
|
|
215
|
+
help=(
|
|
216
|
+
'y/yes/true for True and n/no/false for False. '
|
|
217
|
+
'Set to True to disable fast reflashing (--diff-with) for Arduino. '
|
|
218
|
+
'Useful when flash state is unknown, e.g. after OTA updates. '
|
|
219
|
+
'(Default: False)'
|
|
220
|
+
),
|
|
221
|
+
)
|
|
222
|
+
|
|
212
223
|
idf_group = parser.getgroup('embedded-idf')
|
|
213
224
|
idf_group.addoption(
|
|
214
225
|
'--supported-targets', help='Comma-separated list of supported targets for the test case. (Default: None)'
|
|
@@ -298,6 +309,13 @@ def pytest_addoption(parser):
|
|
|
298
309
|
'--wokwi-diagram',
|
|
299
310
|
help='Path to the wokwi diagram file (Default: None)',
|
|
300
311
|
)
|
|
312
|
+
wokwi_group.addoption(
|
|
313
|
+
'--wokwi-usb-serial-jtag',
|
|
314
|
+
help='y/yes/true for True and n/no/false for False. '
|
|
315
|
+
'Use USB Serial JTAG instead of UART for serial communication in the Wokwi diagram. '
|
|
316
|
+
'When enabled, the diagram will use the USB_SERIAL_JTAG interface and remove $serialMonitor connections. '
|
|
317
|
+
'(Default: False)',
|
|
318
|
+
)
|
|
301
319
|
|
|
302
320
|
|
|
303
321
|
###########
|
|
@@ -842,6 +860,13 @@ def esp_flash_force(request: FixtureRequest) -> str | None:
|
|
|
842
860
|
return _request_param_or_config_option_or_default(request, 'esp_flash_force', False)
|
|
843
861
|
|
|
844
862
|
|
|
863
|
+
@pytest.fixture
|
|
864
|
+
@multi_dut_argument
|
|
865
|
+
def no_fast_flash(request: FixtureRequest) -> bool | None:
|
|
866
|
+
"""Enable parametrization for the same cli option"""
|
|
867
|
+
return _request_param_or_config_option_or_default(request, 'no_fast_flash', None)
|
|
868
|
+
|
|
869
|
+
|
|
845
870
|
@pytest.fixture
|
|
846
871
|
@multi_dut_argument
|
|
847
872
|
def build_dir(request: FixtureRequest) -> str | None:
|
|
@@ -1076,6 +1101,13 @@ def wokwi_diagram(request: FixtureRequest) -> str | None:
|
|
|
1076
1101
|
return _request_param_or_config_option_or_default(request, 'wokwi_diagram', None)
|
|
1077
1102
|
|
|
1078
1103
|
|
|
1104
|
+
@pytest.fixture
|
|
1105
|
+
@multi_dut_argument
|
|
1106
|
+
def wokwi_usb_serial_jtag(request: FixtureRequest) -> bool | None:
|
|
1107
|
+
"""Enable parametrization for the same cli option"""
|
|
1108
|
+
return _request_param_or_config_option_or_default(request, 'wokwi_usb_serial_jtag', None)
|
|
1109
|
+
|
|
1110
|
+
|
|
1079
1111
|
####################
|
|
1080
1112
|
# Private Fixtures #
|
|
1081
1113
|
####################
|
|
@@ -1118,6 +1150,7 @@ def parametrize_fixtures(
|
|
|
1118
1150
|
erase_all,
|
|
1119
1151
|
esptool_baud,
|
|
1120
1152
|
esp_flash_force,
|
|
1153
|
+
no_fast_flash,
|
|
1121
1154
|
part_tool,
|
|
1122
1155
|
confirm_target_elf_sha256,
|
|
1123
1156
|
erase_nvs,
|
|
@@ -1134,6 +1167,7 @@ def parametrize_fixtures(
|
|
|
1134
1167
|
qemu_extra_args,
|
|
1135
1168
|
qemu_efuse_path,
|
|
1136
1169
|
wokwi_diagram,
|
|
1170
|
+
wokwi_usb_serial_jtag,
|
|
1137
1171
|
skip_regenerate_image,
|
|
1138
1172
|
encrypt,
|
|
1139
1173
|
keyfile,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|