esp-test-utils 0.2.1__tar.gz → 0.2.2__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.
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/CHANGELOG.md +6 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/PKG-INFO +1 -1
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esp_test_utils.egg-info/PKG-INFO +1 -1
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/dut/dut_base.py +8 -2
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/dut/esp_mixin.py +6 -1
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/config/env_config.py +37 -7
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/devices/esp_serial.py +11 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/tools/download_bin.py +1 -1
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/utility/parse_bin_path.py +8 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/.github/.gitkeep +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/.github/workflows/pypi-publish.yml +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/.gitignore +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/.gitlab-ci.yml +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/.pre-commit-config.yaml +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/CONTRIBUTING.md +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/LICENSE +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/README.md +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/docs/Makefile +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/docs/conf.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/docs/index.rst +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/docs/make.bat +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esp_test_utils.egg-info/SOURCES.txt +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esp_test_utils.egg-info/dependency_links.txt +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esp_test_utils.egg-info/entry_points.txt +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esp_test_utils.egg-info/requires.txt +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esp_test_utils.egg-info/top_level.txt +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/__main__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/dut/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/dut/create_dut.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/dut/esp_dut.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/dut/esp_port.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/dut/mac_mixin.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/dut/wrapper.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/port/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/port/base_port.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/adapter/port/serial_port.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/all.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/common/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/common/compat_typing.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/common/data_monitor.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/common/decorators.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/common/encoding.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/common/generator.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/common/shell.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/common/timestamp.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/config/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/config/default_config.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/db/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/db/runners.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/devices/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/devices/attenuator.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/devices/serial_dut.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/devices/serial_tools.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/env/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/env/base_env.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/env/wifi_env.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/esp_console/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/esp_console/wifi_cmd.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/interface/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/interface/dut.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/interface/port.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/iperf_utility/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/iperf_utility/iperf_results.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/iperf_utility/iperf_test.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/iperf_utility/iperf_test.test.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/iperf_utility/line_chart.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/logger/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/logger/logger.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/network/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/network/mac.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/network/netif.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/network/nic.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/scripts/downbin.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/scripts/list_ports.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/scripts/monitor.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/scripts/set_att.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/tools/copy_bin.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/tools/http_download.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/tools/pip_check.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/esptest/utility/gen_esp32part.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/example/jap_test.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/example/restart_test.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/pyproject.toml +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/setup.cfg +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/__init__.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/basic/test_decorators.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/basic/test_network.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/conftest.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/db/test_db_runners.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/esp_console/_files/wifi_cmd_connected_1.log +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/esp_console/_files/wifi_cmd_connected_2.log +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/esp_console/conftest.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/esp_console/test_WifiCmd.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/iperf_utility/_files/dut_iperf_rx1.log +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/iperf_utility/_files/dut_iperf_rx2.log +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/iperf_utility/_files/pc_iperf_rx.log +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/iperf_utility/_files/pc_iperf_rx2.log +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/iperf_utility/test_chart.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/iperf_utility/test_iperf_results.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/iperf_utility/test_iperf_util.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/test_Dut.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/test_EnvConfig.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/test_common.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/test_import.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/tools/test_download_file.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/tools/test_pip_check.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/utility/_files/test-bin.zip +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/utility/_files/test-get-baud/ESP32AT-V4.1.1.0/sdkconfig +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/utility/test_parse_bin_path.py +0 -0
- {esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tools/ci/check_dev_version.py +0 -0
|
@@ -11,7 +11,7 @@ from esptool.loader import ESPLoader
|
|
|
11
11
|
|
|
12
12
|
import esptest.common.compat_typing as t
|
|
13
13
|
|
|
14
|
-
from ...common.timestamp import
|
|
14
|
+
from ...common.timestamp import timestamp_slug
|
|
15
15
|
from ...interface.dut import DutInterface
|
|
16
16
|
from ...interface.port import PortInterface
|
|
17
17
|
from ...logger import get_logger
|
|
@@ -62,7 +62,7 @@ class DutConfig:
|
|
|
62
62
|
self._auto_gen_name()
|
|
63
63
|
if not self.log_file:
|
|
64
64
|
_log_path = self.log_path or './dut_logs'
|
|
65
|
-
_file_name = f'{self.name}_{
|
|
65
|
+
_file_name = f'{self.name}_{timestamp_slug()}.log'.replace(':', '-')
|
|
66
66
|
self.log_file = str(Path(_log_path) / _file_name)
|
|
67
67
|
# serial configs
|
|
68
68
|
_serial_configs = DEFAULT_SERIAL_CONFIGS.copy()
|
|
@@ -229,6 +229,12 @@ class DutBase(VariablesMixin, DutInterface): # pylint: disable=too-many-public-
|
|
|
229
229
|
return self._base_port_proxy.raw_port
|
|
230
230
|
raise NotImplementedError()
|
|
231
231
|
|
|
232
|
+
@property
|
|
233
|
+
def log_file(self) -> t.Any:
|
|
234
|
+
if self._base_port_proxy:
|
|
235
|
+
return self._base_port_proxy.log_file
|
|
236
|
+
return None
|
|
237
|
+
|
|
232
238
|
@property
|
|
233
239
|
def name(self) -> t.Any:
|
|
234
240
|
return self.dut_config.name
|
|
@@ -95,7 +95,7 @@ class EspMixin(BaseProtocol):
|
|
|
95
95
|
esptool=self.dut_config.use_esptool,
|
|
96
96
|
erase_nvs=erase_nvs,
|
|
97
97
|
)
|
|
98
|
-
if not self.esp.IS_STUB:
|
|
98
|
+
if not self.esp.IS_STUB and self.esp.CHIP_NAME not in ['ESP32']:
|
|
99
99
|
# preview or dev targets
|
|
100
100
|
down_bin_tool.force_no_stub = True
|
|
101
101
|
with self.disable_redirect_thread():
|
|
@@ -105,6 +105,11 @@ class EspMixin(BaseProtocol):
|
|
|
105
105
|
def start_redirect_thread(self) -> None:
|
|
106
106
|
if self.esp:
|
|
107
107
|
self.esp._port.open() # pylint: disable=protected-access
|
|
108
|
+
if self.log_file:
|
|
109
|
+
with open(self.log_file, 'a', encoding='utf-8') as log_f:
|
|
110
|
+
log_f.write(
|
|
111
|
+
f'------------ reopen port: {self.esp._port.port} {self.esp._port.baudrate} --------------- \n' # pylint: disable=protected-access
|
|
112
|
+
)
|
|
108
113
|
super().start_redirect_thread()
|
|
109
114
|
|
|
110
115
|
def stop_redirect_thread(self) -> bool:
|
|
@@ -5,6 +5,30 @@ from typing import Any, List, Optional
|
|
|
5
5
|
|
|
6
6
|
import yaml
|
|
7
7
|
|
|
8
|
+
VAR_NAME_MAPPING = {
|
|
9
|
+
'ap_ssid': ['RUNNER_WIFI_SSID', 'RUNNER_AP_SSID'],
|
|
10
|
+
'ap_password': ['RUNNER_WIFI_PASSWORD', 'RUNNER_AP_PASSWORD'],
|
|
11
|
+
'pc_nic': ['RUNNER_PC_NIC'],
|
|
12
|
+
'dut1': ['ESPPORT1'],
|
|
13
|
+
'dut2': ['ESPPORT2'],
|
|
14
|
+
'dut3': ['ESPPORT3'],
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def get_variable_from_env(key: str) -> Any:
|
|
19
|
+
"""Get test variable from shell environment
|
|
20
|
+
|
|
21
|
+
Args:
|
|
22
|
+
key (str): which variable to get
|
|
23
|
+
"""
|
|
24
|
+
if key in VAR_NAME_MAPPING:
|
|
25
|
+
for var_name in VAR_NAME_MAPPING[key]:
|
|
26
|
+
var = os.getenv(var_name)
|
|
27
|
+
if var is not None:
|
|
28
|
+
logging.debug(f'Got env variable from shell env {var_name}: {var}')
|
|
29
|
+
return var
|
|
30
|
+
return None
|
|
31
|
+
|
|
8
32
|
|
|
9
33
|
class EnvConfig:
|
|
10
34
|
"""Get test environment variables from config file.
|
|
@@ -32,6 +56,8 @@ class EnvConfig:
|
|
|
32
56
|
# Find env config file from project root path
|
|
33
57
|
# CI_PROJECT_DIR was set by gitlab CI
|
|
34
58
|
PROJECT_ROOT_DIR = os.getenv('PROJECT_ROOT_DIR') or os.getenv('CI_PROJECT_DIR', '')
|
|
59
|
+
# allow EnvConfig load shell env variables, default enabled
|
|
60
|
+
DISABLE_LOAD_SHELL_ENV = os.getenv('ESPTEST_DISABLE_LOAD_SHELL_ENV', '').lower() in ('true', '1', 'yes', 'y')
|
|
35
61
|
|
|
36
62
|
# Allow input variables from terminal during local debugging
|
|
37
63
|
ALLOW_INPUT = not os.getenv('CI')
|
|
@@ -115,14 +141,18 @@ class EnvConfig:
|
|
|
115
141
|
# do not use dict.get because we can input the variable for local tests
|
|
116
142
|
if key in self.config_data:
|
|
117
143
|
var = self.config_data[key]
|
|
118
|
-
elif default:
|
|
144
|
+
elif default is not None:
|
|
119
145
|
var = default
|
|
120
146
|
else:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
147
|
+
if not self.DISABLE_LOAD_SHELL_ENV:
|
|
148
|
+
# Try to get from shell environment variables
|
|
149
|
+
var = get_variable_from_env(key)
|
|
150
|
+
if var is None:
|
|
151
|
+
logging.warning(f'Failed to get env variable {self.env_tag}/{key}.')
|
|
152
|
+
logging.info(self.__doc__)
|
|
153
|
+
if not self.ALLOW_INPUT:
|
|
154
|
+
raise ValueError(f'Env variable not found: {self.env_tag}/{key}')
|
|
155
|
+
# For local test, support input the variable from console
|
|
156
|
+
var = input('You can input the variable now:')
|
|
127
157
|
logging.debug(f'Got env variable {self.env_tag}/{key}: {var}')
|
|
128
158
|
return var
|
|
@@ -84,3 +84,14 @@ def list_all_esp_ports() -> t.List[EspPortInfo]:
|
|
|
84
84
|
for port in get_all_serial_ports():
|
|
85
85
|
esp_ports.append(detect_one_port(port))
|
|
86
86
|
return esp_ports
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def get_available_ports(target: str, max_num: int = 0) -> t.List[EspPortInfo]:
|
|
90
|
+
detect_ports = []
|
|
91
|
+
for port in get_all_serial_ports():
|
|
92
|
+
esp_port = detect_one_port(port)
|
|
93
|
+
if esp_port.target == target:
|
|
94
|
+
detect_ports.append(esp_port)
|
|
95
|
+
if max_num > 0 and len(detect_ports) >= max_num: # pylint: disable=chained-comparison
|
|
96
|
+
return detect_ports
|
|
97
|
+
return detect_ports
|
|
@@ -77,7 +77,7 @@ class DownBinTool:
|
|
|
77
77
|
parttool: str = '',
|
|
78
78
|
esptool: str = '',
|
|
79
79
|
erase_nvs: bool = True,
|
|
80
|
-
force_no_stub: bool =
|
|
80
|
+
force_no_stub: bool = False,
|
|
81
81
|
): # pylint: disable=too-many-positional-arguments,too-many-arguments
|
|
82
82
|
self.bin_path = bin_path
|
|
83
83
|
self.port = compute_serial_port(port, strict=True)
|
|
@@ -4,6 +4,7 @@ import os
|
|
|
4
4
|
import subprocess
|
|
5
5
|
import tempfile
|
|
6
6
|
from dataclasses import dataclass
|
|
7
|
+
from functools import lru_cache
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
|
|
9
10
|
import esptest.common.compat_typing as t
|
|
@@ -181,6 +182,7 @@ class ParseBinPath:
|
|
|
181
182
|
except subprocess.SubprocessError as e:
|
|
182
183
|
logger.error(f'Failed to gen partition-table.csv: {str(e)}')
|
|
183
184
|
|
|
185
|
+
@lru_cache()
|
|
184
186
|
def parse_partitions(self) -> t.List[PartitionInfo]:
|
|
185
187
|
"""Parse partitions from partition-table.csv"""
|
|
186
188
|
self._gen_partition_table()
|
|
@@ -293,3 +295,9 @@ class ParseBinPath:
|
|
|
293
295
|
# erase nvs
|
|
294
296
|
return args + list(self._gen_erase_nvs_bin())
|
|
295
297
|
raise ValueError('Can not find nvs partition info')
|
|
298
|
+
|
|
299
|
+
def get_partition_info(self, part_name: str) -> PartitionInfo:
|
|
300
|
+
for part in self.parse_partitions():
|
|
301
|
+
if part.name == part_name:
|
|
302
|
+
return part
|
|
303
|
+
raise ValueError('Can not find nvs partition info')
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
{esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/esp_console/_files/wifi_cmd_connected_1.log
RENAMED
|
File without changes
|
{esp_test_utils-0.2.1 → esp_test_utils-0.2.2}/tests/esp_console/_files/wifi_cmd_connected_2.log
RENAMED
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|