From freenet-freenet-agent-skills
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".
npx claudepluginhub freenet/freenet-agent-skills --plugin freenetThis skill uses the workspace's default tool permissions.
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.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
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-cargo