Run integration tests that require Linux (full loopback range 127.x.x.x) via Docker. Use when a test fails on macOS with "Can't assign requested address" or when the user says "/linux-test".
Some Freenet integration tests require Linux's full loopback range (127.x.x.x) and fail on macOS with "Can't assign requested address". This skill runs those tests inside a Docker container using the docker/test-runner/ infrastructure.
/freenet:linux-test run_delegate_messaging_e2e — auto-wraps as cargo test with --nocapture/freenet:linux-test cargo test -p freenet -- test_name — passed through directlyThese tests bind multiple loopback addresses and need Linux:
| Test | Package |
|------|---------|
| run_app_blocked_peers | freenet-ping-app |
| run_delegate_messaging_e2e | freenet-ping-app |
| run_app_delegate_wasmtime | freenet-ping-app |
| edge_case_state_sizes | freenet |
| error_notification | freenet |
| Tests in connectivity.rs | freenet |
Determine the command to run inside Docker:
Usage: /freenet:linux-test <test_name_or_cargo_args>
Examples:
/freenet:linux-test run_delegate_messaging_e2e
/freenet:linux-test cargo test -p freenet -- test_name
/freenet:linux-test cargo test -p freenet-ping-app --test run_app_blocked_peers -- --nocapture
Known Linux-required tests:
- run_app_blocked_peers (freenet-ping-app)
- run_delegate_messaging_e2e (freenet-ping-app)
- run_app_delegate_wasmtime (freenet-ping-app)
- edge_case_state_sizes (freenet)
- error_notification (freenet)
- connectivity tests (freenet)
cargo: Use arguments as-is. Append -- --nocapture if no -- separator is present.cargo test -p freenet --test <name> -- --nocapturefreenet-ping-app tests: cargo test -p freenet-ping-app --test <name> -- --nocapture# Check if the image exists
docker image inspect freenet-test-runner >/dev/null 2>&1
If the image does NOT exist, build it:
docker build -t freenet-test-runner -f docker/test-runner/Dockerfile .
Tell the user: "Building Docker image freenet-test-runner (first time only, takes a few minutes)..."
Execute the test using docker/test-runner/run.sh:
docker/test-runner/run.sh <command args>
Important: Use run_in_background for the Bash tool since tests can take several minutes. Set a generous timeout (600000ms / 10 minutes).
After the test completes:
docker volume rm freenet-test-build freenet-test-target freenet-test-cargoSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer