Minibox Build & Test
Build, test, and debug the minibox container runtime with project-specific workflows.
When to Use
Use this skill when:
- Building the minibox daemon or CLI
- Running or writing tests for container primitives
- Debugging build failures or test issues
- Checking code quality and formatting
- Understanding build configuration
Quick Commands
Build Commands
Build all components:
cargo build --all
Build specific components:
cargo build -p minibox # Core library
cargo build -p miniboxd # Daemon
cargo build -p minibox-cli # CLI tool
Release build:
cargo build --release --all
Test Commands
Run all tests:
cargo test --all
Run tests for specific component:
cargo test -p minibox
cargo test -p miniboxd
Run specific test:
cargo test test_name
Run with output:
cargo test -- --nocapture
Quality Checks
Format code:
cargo fmt --all
Check formatting:
cargo fmt --all -- --check
Run clippy:
cargo clippy --all -- -D warnings
Check without building:
cargo check --all
Development Workflow
Before Committing
- Format code:
cargo fmt --all - Run clippy:
cargo clippy --all -- -D warnings - Run tests:
cargo test --all - Build release:
cargo build --release --all
Debugging Build Issues
Check dependencies:
cargo tree
Clean build:
cargo clean
cargo build --all
Verbose build:
cargo build --all --verbose
Test Development
Currently minibox has no test coverage. When adding tests:
Create test module in source file:
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_namespace_creation() {
// Test code
}
}
Create integration tests:
mkdir -p tests
# Create tests/integration_test.rs
Project Structure
Key directories:
minibox/- Core library with container primitivesminiboxd/- Daemon implementationminibox-cli/- Command-line interfaceCargo.toml- Workspace configuration
Bundled Scripts
Build helper:
./skills/minibox/build-test/scripts/build.sh
Builds all minibox components with progress output.
Test runner:
./skills/minibox/build-test/scripts/test.sh
Runs all tests with proper output formatting.
Quality checker:
./skills/minibox/build-test/scripts/check.sh
Runs all quality checks (fmt, clippy, tests, compile).
Common Issues
Missing dependencies:
- Ensure Linux development headers are installed
- Check libc version compatibility
Test failures:
- Verify running on Linux (required for namespaces/cgroups)
- Check for required kernel features
- Run as root for namespace operations
Build performance:
- Use
cargo build --releasefor optimized builds - Use
sccachefor faster recompilation - Check
target/directory size withdu -sh target/
Detailed References
For comprehensive testing guidance, load references/testing-guide.md which covers:
- Test strategy (unit, integration, property-based)
- Testing challenges (Linux-only, root-required, cleanup)
- Test utilities and helpers
- Priority test coverage areas
- CI/CD configuration