Testing
Running Tests
All Tests
tk test //...
Specific Packages
# Go packages
tk test //src/go/pkg/syncer:syncer_test
# Rust crates
tk test //src/rust/prefetch-cache:prefetch-cache-test
# Python modules
tk test //src/python/cargo:test_features
Test Categories
Unit Tests
Located alongside source code:
pkg/
├── syncer.go
└── syncer_test.go
Integration Tests
Located in e2e/:
e2e/
├── fixtures/
│ ├── greenfield-go/
│ └── multi-language/
└── run_e2e.sh
Nix Testing
Flake Check
nix flake check
Validates:
- Module definitions
- Package builds
- Template validity
Derivation Builds
# Build specific package
nix build .#godeps-gen
# Build prelude
nix build .#turnkey-prelude
Manual Testing
New Toolchain
- Add to registry
- Add to mappings
- Add to toolchain.toml
- Enter shell
- Verify
tk targets toolchains//...
Prelude Extension
- Create extension files
- Stage:
git add nix/buck2/prelude-extensions/ - Rebuild:
nix build .#turnkey-prelude - Verify files in output
Dependency Cell
- Generate deps file
- Build cell:
nix build .#godeps-cell(example) - Verify rules.star content
CI
Pre-commit hooks run:
nix flake checkmonorepo-dep-checkrust-edition-check
All hooks must pass before commit.