summaryrefslogtreecommitdiffstatshomepage
path: root/tests/run-multitests.py
Commit message (Collapse)AuthorAge
* tests: Add basic wlan test.Angus Gratton2024-11-28
| | | | | | | | | | | | | | Includes adding some ESP8266 port output to the ignored output list for the multitest runner. This test passes on ESP8266 and various ESP32s (including talking to each other). Without the fix in the parent commit, ESP32 AP will fail if the station can report its channel (i.e. channel is wrong). Testing with a CYW43 (RPI_PICO_W) currently fails but I have some fixes to submit so it can pass as well. Signed-off-by: Angus Gratton <angus@redyak.com.au>
* tests/run-multitests.py: Change to dir of test script when running it.Damien George2024-01-05
| | | | | | | | | | | This matches the behaviour of run-tests.py, which sets cwd to the directory containing the test script, which helps to isolate the filesystem. It means that the SSL tests no longer need to know the name of their containing directory to find the certificate files, and helps to run these tests on bare-metal. Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Don't allow imports from the cwd.Jim Mussared2023-06-08
| | | | | | | | | Make tests run in an isolated environment (i.e. `import io` would otherwise get the `tests/io` directory). This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
* tests/run-multitests.py: Support outputting test metrics.Damien George2023-03-23
| | | | | | | | | | If a multitest calls `multitest.output_metric(...)` then that output will be collected separately, not considered as part of the test verification output, and instead be printed at the end. This is useful for tests that want to output performance/timing metrics that may change from one run to the next. Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Add ability to test instance over reboot.Andrew Leech2023-03-08
| | | | | | | The device-under-test should use `multitest.expect_reboot()` to indicate that it will reboot. Signed-off-by: Andrew Leech <andrew.leech@planetinnovation.com.au>
* all: Keep msvc build output in build/ directories.stijn2022-12-13
| | | | This follow the change made for Makefile-based projects in b2e82402.
* tests/run-multitests: Make paths more deterministic.Andrew Leech2022-09-20
| | | | | | Allows running from a different directory, etc. This work was funded by Planet Innovation.
* tests/run-multitests: Extend usage information.Andrew Leech2022-09-20
|
* tests,tools: Update path to unix micropython executable.Damien George2022-08-18
| | | | | | These were missed by 47c84286e8c8d9873e99f12711a683ecd6b9ca62 Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Read IP address from boot nic if available.Andrew Leech2022-06-03
| | | | | | | | This works if your network is pre-configured in boot.py as an object called "nic". Without this, multitests expects to access the WLAN/LAN class which isn't always correct. Signed-off-by: Andrew Leech <andrew@alelec.net>
* tests/run-multitests.py: Use LAN for IP address if WLAN doesn't exist.robert-hh2022-05-24
| | | | | | This allows running the test on boards with just a LAN interface. Fixes issue #8681.
* tests/run-multitests.py: Set HOST_IP so tests work between PC and board.Damien George2022-01-17
| | | | Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Ignore lld_pdu_get_tx_flush_nb msgs from IDF.Damien George2022-01-17
| | | | | | | | BLE still functions correctly even though these messages are sometimes printed by the IDF. Ignoring them allows the multi_bluetooth tests to pass on an esp32 board. Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Add broadcast and wait facility.Damien George2021-08-13
| | | | | | | | | | Test instances can now use the following methods to synchronise their execution: multitest.broadcast("sync message") multitest.wait("sync message") Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Allow to work without sys.stdout on target.Damien George2021-06-06
| | | | Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Flush stdout for each line of trace output.Damien George2021-05-13
| | | | Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Provide some convenient serial device shorcuts.Damien George2021-04-30
| | | | | | | | It's now possible to specify a device serial port using shorcuts like: $ ./run-multitests.py -i pyb:a0 -i pyb:u1 multi_bluetooth/*.py Signed-off-by: Damien George <damien@micropython.org>
* tests/run-multitests.py: Add a -p flag to run permutations of instances.Jim Mussared2020-11-13
| | | | Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
* tests/run-multitests.py: Fix diff order, show changes relative to truth.Jim Mussared2020-11-13
| | | | Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
* tests/run-multitests.py: Show test/truth diff.Jim Mussared2020-09-18
|
* tests/run-multitests.py: Allow passing unique env vars to each instance.Jim Mussared2020-06-10
| | | | | | | | | For example, to run the BLE multitests entirely with the unix port: env MICROPY_MICROPYTHON=../ports/unix/micropython-dev ./run-multitests.py \ -i micropython,MICROPYBTUSB=01 \ -i micropython,MICROPYBTUSB=02:02 \ multi_bluetooth/ble_*.py
* tests/multi_bluetooth: Update to work with new BLE events.Jim Mussared2020-06-05
| | | | | Updates the tests to use non-bitmask events, event renames, as well as some of the new completion events to improve reliability of the tests.
* tests/run-multitests.py: Add TRACE banner and move TEST output to end.Damien George2020-05-09
| | | | To make it easier to understand the output when both -s and -t are used.
* tests/run-multitests.py: Add shortcuts for local Python instances.Jim Mussared2020-04-29
| | | | | | One can now use `-i micropython` and `-i cpython` to add instances using the `MICROPYTHON` and `CPYTHON3` variables (which can be overridden by env vars).
* tests/run-multitests.py: Allow filtering out lines from stdout.Jim Mussared2020-04-29
| | | | | And use this new feature to filter out certain lines in the Bluetooth multitests.
* tests: Format all Python code with black, except tests in basics subdir.David Lechner2020-03-30
| | | | | | | | | | This adds the Python files in the tests/ directory to be formatted with ./tools/codeformat.py. The basics/ subdirectory is excluded for now so we aren't changing too much at once. In a few places `# fmt: off`/`# fmt: on` was used where the code had special formatting for readability or where the test was actually testing the specific formatting.
* tests: Make default MICROPYPATH include extmod to find uasyncio.Damien George2020-03-26
|
* tests/run-multitests.py: Print test summary and do exit(1) on failure.Damien George2020-03-18
|
* tests/run-multitests.py: Add new test runner for multiple Py instances.Damien George2020-03-10
This commit adds a test runner and initial test scripts which run multiple Python/MicroPython instances (eg executables, target boards) in parallel. This is useful for testing, eg, network and Bluetooth functionality. Each test file has a set of functions called instanceX(), where X ranges from 0 up to the maximum number of instances that are needed, N-1. Then run-multitests.py will execute this script on N separate instances (eg micropython executables, or attached boards via pyboard.py) at the same time, synchronising their start in the right order, possibly passing IP address (or other address like bluetooth MAC) from the "server" instance to the "client" instances so they can connect to each other. It then runs them to completion, collects the output, and then tests against what CPython gives (or what's in a provided .py.exp file). The tests will be run using the standard unix executable for all instances by default, eg: $ ./run-multitests.py multi_net/*.py Or they can be run with a board and unix executable via: $ ./run-multitests.py --instance pyb:/dev/ttyACM0 --instance exec:micropython multi_net/*.py