aRustyDev / aRustyDev/pre-commit-hooks

test(nix): Create test suite for Nix hooks

Ouverte
#22 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.