start/sniff-start: refuse to run in Windows-hosted shells

A Windows user could run the bash launchers from WSL or Git Bash / MSYS2 /
MinGW / Cygwin, where the Linux USB assumptions do not hold: WSL cannot reach
the Windows SIMtrace2 device, and those shells have no Linux /sys + /dev/bus/usb
view for the udev pre-flight.  Both launchers now detect a Windows host up
front (WSL via /proc/version, the rest via uname -s) and exit 2 with a pointer
at the matching .bat launcher, which drives the Windows Python/PyUSB stack.
The message goes to stderr; a deliberate WSL/Cygwin flow can still run the
Python module directly (noted in the source comment).

Tests: tests/test_launchers.py runs each script with a fake mingw uname and
asserts exit 2 plus the start.bat/sniff-start.bat pointer, pins the WSL
detection, and checks bash -n syntax (skipped when bash is absent).

Bumps 2.7.14 (version.py, pyproject, PWA_VERSION), SW cache v96, the README
download examples and the release-notes preamble.  561 Python + 80 Node tests.
This commit is contained in:
catarrh committed 2026-11-04 19:30:41 +03:00
1 parent 8a7bfe87d1
commit 5a41de092c
11 files changed
+124 -11

No files matched your search

+8 -3
View File
@@ -47,7 +47,7 @@ http://127.0.0.1:8081/.
The wheel includes the UI, so the server serves it by itself:
```sh
pip install ./simtrace_analyser-2.7.13-py3-none-any.whl
pip install ./simtrace_analyser-2.7.14-py3-none-any.whl
simtrace-analyser-server --capture gsmtap
```
@@ -61,7 +61,7 @@ Every artifact is on the
CLI can pick the latest one:
```sh
pip install https://github.com/anttro/simtrace-analyser/releases/download/v2.7.13/simtrace_analyser-2.7.13-py3-none-any.whl
pip install https://github.com/anttro/simtrace-analyser/releases/download/v2.7.14/simtrace_analyser-2.7.14-py3-none-any.whl
# or:
gh release download --pattern '*.whl'
pip install ./simtrace_analyser-*.whl
@@ -69,7 +69,7 @@ pip install ./simtrace_analyser-*.whl
### 2. Zip (no installer)
Download `simtrace-analyser-2.7.13.zip` from the release page and extract it
Download `simtrace-analyser-2.7.14.zip` from the release page and extract it
anywhere: it is the runtime tree (the Python packages, the web UI, the launchers
and the docs — no tests, no git). The archive works on any OS; then run:
@@ -167,6 +167,11 @@ start.bat --capture direct
start.bat --capture disabled
```
On Windows use `start.bat` / `sniff-start.bat` from `cmd.exe` or PowerShell:
the `.sh` launchers refuse to run in WSL (the Linux guest cannot reach the
Windows SIMtrace2 USB device) and in Git Bash / MSYS2 / MinGW / Cygwin (no
Linux `/sys` + `/dev/bus/usb` view for the udev checks).
Options pass through unchanged (`./start.sh --capture direct --port 8080`).
The server logs its capture liveness to stderr (each line timestamped