aRustyDev / aRustyDev/pre-commit-hooks
test(nix): Create test suite for Nix hooks
- Langage dominant
- Python
- Étoiles
- 5
- Forks
- 3
- Métriques de merge des PR
- Aucune PR mergée en 30 j
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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par examiner les implémentations des hooks des issues #15-#20 et la structure proposée de tests/nix/. Exécutez chaque script de test individuellement avec les fixtures indiqués, puis vérifiez que les cas de succès, d’échec, de dépendance, de plateforme, de formatter et de linter sont couverts et que les instructions de test du README expliquent comment les exécuter.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- shell
- Domaine
- build-system, documentation, testing
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100