mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-04 00:29:10 -05:00
Test Cleanup (113 files, -22,000 lines): - Remove 21 redundant run_all_tests.py files - Remove checkpoints/ folder (22 obsolete checkpoint files) - Remove progressive/, debugging/, diagnostic/ folders - Remove duplicate integration tests and examples - Remove orphaned dev artifacts and generated outputs - Consolidate test_gradient_flow_overall.py into system/ Documentation Cleanup (4 files removed): - Remove duplicate HOW_TO_USE.md, WORKFLOW.md, SYSTEM_DESIGN.md - Trim environment/README.md from 334 to 86 lines - Update capstone/README.md removing outdated bug references Test Fixes: - Add requires_grad=True to layer parameters in gradient tests - Fix PositionalEncoding argument order in test_shapes.py - Adjust performance thresholds for realistic expectations - Fix gradient clipping to handle memoryview correctly - Update zero_grad assertions to accept None or zeros
86 lines
1.8 KiB
Markdown
86 lines
1.8 KiB
Markdown
# Environment Validation Tests
|
|
|
|
Comprehensive tests to ensure TinyTorch environment is correctly configured.
|
|
|
|
## For Students
|
|
|
|
```bash
|
|
# Quick health check
|
|
tito system health
|
|
|
|
# Verbose output for debugging
|
|
tito system health --verbose
|
|
```
|
|
|
|
**Use when**:
|
|
- After running `tito setup`
|
|
- Before starting a new module
|
|
- When something isn't working
|
|
- Sharing output with TAs for help
|
|
|
|
## Test Suites
|
|
|
|
### Setup Validation (`test_setup_validation.py`)
|
|
|
|
Tests 50+ environment checks:
|
|
|
|
- **Python Environment**: Version (3.8+), virtual environment, pip
|
|
- **Core Dependencies**: NumPy, Matplotlib, pytest, PyYAML, Rich
|
|
- **Jupyter Environment**: Jupyter, JupyterLab, kernels, Jupytext
|
|
- **TinyTorch Package**: Import, core modules, version
|
|
- **Project Structure**: tinytorch/, modules/, src/, tests/, TITO CLI
|
|
- **System Resources**: Disk space, memory
|
|
- **Git Configuration**: Git available, user configured
|
|
|
|
### Requirements Validation (`test_all_requirements.py`)
|
|
|
|
Auto-discovers and tests ALL packages from requirements files:
|
|
|
|
- Package installation (can be imported)
|
|
- Version matching (meets specification)
|
|
- Functionality (actually works, not just installed)
|
|
|
|
## Running Tests
|
|
|
|
```bash
|
|
# Via TITO (recommended)
|
|
tito system health
|
|
|
|
# Via pytest
|
|
pytest tests/environment/ -v
|
|
|
|
# Specific suite
|
|
pytest tests/environment/test_setup_validation.py -v
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
**"No module named 'X'"**:
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
**Version mismatch**:
|
|
```bash
|
|
pip install --upgrade X
|
|
```
|
|
|
|
**Virtual environment not detected**:
|
|
```bash
|
|
source .venv/bin/activate # Mac/Linux
|
|
.venv\Scripts\activate # Windows
|
|
```
|
|
|
|
**Jupyter tests fail**:
|
|
```bash
|
|
pip install --upgrade jupyter jupyterlab
|
|
python -m ipykernel install --user
|
|
```
|
|
|
|
## CI Integration
|
|
|
|
```yaml
|
|
- name: Validate Environment
|
|
run: pytest tests/environment/ -v
|
|
```
|