Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 1.54 KB

File metadata and controls

53 lines (41 loc) · 1.54 KB

Testing

The project will use layered verification:

  • Python unit tests for graph identifiers, filters, and action inference.
  • ROS 2 integration tests for discovery and relationship edges.
  • Frontend unit tests for graph conversion, filtering, search, and details.
  • Manual Electron tests against local and remote WebSocket backends.

Run backend unit tests in the locked uv environment:

cd backend
uv venv --system-site-packages
uv sync
uv run pytest

For ROS-backed commands, source ROS 2 Jazzy before uv run so its rclpy modules are available. Validate the frontend export and snapshot parser plus the production build with:

cd app
npm test
npm run build

On Windows, also build the portable File-only release and verify opening, dragging, filtering, and exporting a graph JSON snapshot:

cd app
npm run dist:win

The portable build uses ZIP compression so its launch-time extraction remains responsive; the resulting EXE is intentionally larger than an LZMA/7z build.

For the installer, verify both modes on a supported Linux host. Use temporary directories for the command link and downloaded AppImage:

offline_bin="$(mktemp -d)"
NODE_MAP_BIN_DIR="$offline_bin" ./scripts/install-node-map.sh --offline
readlink "$offline_bin/node-map"

online_bin="$(mktemp -d)"
online_data="$(mktemp -d)"
NODE_MAP_BIN_DIR="$online_bin" NODE_MAP_DOWNLOAD_DIR="$online_data" \
  bash <(wget -qO- https://raw.githubusercontent.com/HowardWhile/ros2-node-map/develop/scripts/install-node-map.sh)
readlink "$online_bin/node-map"