Testing and build validation for the current Rust + Electron/React codebase.
Run from repository root:
# Rust (default workspace members)
cd rust
cargo test
cargo build --workspace
cd ..
# Frontend
npm run -w frontend test:run
npm run -w frontend check:types
npm run -w frontend build
# Electron
npm run -w electron validate
npm run -w electron buildcd rust
cargo testThis runs the default workspace members (pumas-core, pumas-app-manager, pumas-rpc, pumas-uniffi).
cd rust
cargo test --workspace --exclude pumas_rustlerUse this for release readiness when you want all workspace crates except the Erlang NIF crate.
cd rust
cargo test -p pumas_rustlerpumas_rustler tests require Erlang/OTP runtime symbols and are only expected to run on machines with BEAM tooling installed.
npm run -w frontend test:run
npm run -w frontend check:types
npm run -w frontend buildtest:runexecutes Vitest in non-watch mode.check:typesruns TypeScript type checking.buildvalidates production bundling.
npm run -w electron validate
npm run -w electron buildvalidateruns TypeScript checks.buildcompiles Electron main/preload sources.
- IPC tests bind localhost sockets. In restricted sandbox environments this can fail with
Operation not permittedeven when the code is correct. - For release work, run final validation on a normal host environment (or CI) where local socket binding is allowed.