Skip to content

e2e test#440

Merged
glabmoris merged 15 commits intoCIDCO-dev:masterfrom
Ddoiron-cidco:master
Jan 14, 2026
Merged

e2e test#440
glabmoris merged 15 commits intoCIDCO-dev:masterfrom
Ddoiron-cidco:master

Conversation

@Ddoiron-cidco
Copy link
Copy Markdown
Contributor

No description provided.

ddoiron79 and others added 15 commits December 9, 2025 11:33
…ice.sh`, waits for the 9099 diagnostics websocket, sends `updateDiagnostic`, and validates the returned payload; optional DBT feed on `DIAGNOSTICS_FAKE_SERIAL_PORT` (default `/dev/ttyUSB1`) to drive sonar without touching `/dev/sonar`.

- diagnostics: declare `python3-websockets` as exec/test dependency so websocket clients/servers are available during integration runs.
…st teardown to avoid SyntaxErrors during nosetests.

- diagnostics: guarded `asyncio.set_event_loop` in `diagnostics_websocket.start_server` to prevent dummy-loop `AssertionError` in unit tests.
…s.html` uptime renders and `diagnostics.html` populates diagnostics + running nodes tables).

- e2e: added unified runner script that starts Poseidon, serves `www/webroot`, waits for ports, runs backend websocket E2E + UI headless checks, and stores artifacts under `test/e2e/artifacts`.
- diagnostics/e2e: gated the launchROSService websocket test behind `POSEIDON_E2E=1` and added `POSEIDON_E2E_REUSE_RUNNING=1` to support CI benches that already run ROS.
- launch: made `launchROSService.sh` relocatable via `POSEIDON_ROOT` (no longer hard-coded to `/opt/Poseidon`).
- launch: allowed overriding `loggerPath` and `configPath` in `hydrobox_rpi_nmeadevice_ZED-F9P_bno055.launch` via `POSEIDON_LOGGER_PATH` / `POSEIDON_CONFIG_PATH`.
- CI: added optional "hardware E2E" workflow steps (Playwright install, run E2E, upload artifacts) triggered on `workflow_dispatch` or pushes to `main/master`.
…p to be compatible with newer `websockets` versions (fixes port 9099 not opening on some systems).
…os/noetic/setup.bash` does not fail when ROS scripts reference unset variables (fixes CI E2E startup).
…R_PATH` / `POSEIDON_CONFIG_PATH` via `launchROSService.sh` (avoids invalid nested `$(optenv ...)` substitutions in roslaunch args).
…ostics.html` populates diagnostics + running nodes tables and required sensor diagnostics report OK; optional telemetry check on `index.html`).
…le via env vars (`POSEIDON_DIAG_IMU_*`, `POSEIDON_DIAG_SONAR_*`) to reduce false negatives on slower benches.

- e2e: allow tuning diagnostics refresh polling delay via `POSEIDON_E2E_DIAGNOSTICS_REFRESH_DELAY_MS` for longer-running diagnostics windows.
- e2e: on UI failure, runner now dumps `roslaunch` tail + basic `rostopic`/diagnostics websocket debug into the job logs for faster triage.
…ts (prevents `ROS_DISTRO: unbound variable` on some environments).
…an be validated when `DIAGNOSTICS_FAKE_SERIAL_PORT` is available.

- e2e: optional exclusive mode (`POSEIDON_E2E_EXCLUSIVE=1`) stops the system `ros` service and frees websocket ports before starting Poseidon to avoid port conflicts on benches.
- launch: pass `sonarDevice` into the Hydrobox launch and map it to `/Sonar/device` so the sonar node can be pointed at a test serial adapter.
…E2E_LAUNCH_AS_ROOT=1`, with root-aware cleanup for the service process.

- CI: set `POSEIDON_E2E_LAUNCH_AS_ROOT=1` for hardware E2E runs to ensure sensor access.
…`) and reuse the already-started service during the E2E run to avoid duplicate roslaunch.

- diagnostics/e2e: honor `POSEIDON_E2E_LAUNCH_AS_ROOT=1` when the websocket integration test launches `launchROSService.sh`.
- e2e: split the E2E runner into explicit phases (start ROS + wait for nodes, backend test, UI test) with optional required node gating (`POSEIDON_E2E_REQUIRED_NODES`).
…t to avoid permission errors during repository cleanup.
@glabmoris glabmoris merged commit 6a6ad51 into CIDCO-dev:master Jan 14, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants