aRustyDev / aRustyDev/pre-commit-hooks
test(nix): Create test suite for Nix hooks
- Dominant language
- Python
- Stars
- 5
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
## Description
Create comprehensive test suite for all Nix pre-commit hooks.
## Requirements
- Create test fixtures (sample Nix files)
- Test success and failure cases for each hook
- Verify error messages are helpful
- Test edge cases and platform compatibility
- Document testing procedures
## Test Structure
```
tests/nix/
├── fixtures/
│ ├── valid-flake.nix
│ ├── invalid-flake.nix
│ ├── darwin-configuration.nix
│ ├── home.nix
│ └── ...
├── test-nix-flake-check.sh
├── test-nix-build-check.sh
├── test-nix-darwin-check.sh
├── test-nix-home-manager-check.sh
├── test-nix-fmt.sh
└── test-nix-lint.sh
```
## Test Cases
- Valid configurations should pass
- Invalid configurations should fail with clear errors
- Missing dependencies should be handled gracefully
- Platform-specific hooks should skip on wrong platforms
- Formatters should produce consistent output
- Linters should catch known anti-patterns
## Dependencies
This issue depends on all hook implementations being complete:
- #15-#20 (all individual hook implementations)
## Documentation
- Update README with testing instructions
- Document how to run individual tests
- Provide examples of expected output
Contributor guide
Research direction
Start by reviewing the hook implementations from issues #15-#20 and the proposed tests/nix/ structure. Run each individual test script against the listed fixtures, then verify that success, failure, dependency, platform, formatter, and linter cases are covered and README testing instructions explain how to run them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- build-system, documentation, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100