Windows Tests - Quick Reference

Running Tests

# All tests (PowerShell - recommended)
.\tests\run_windows_tests.ps1

# All tests (Python)
python tests/run_windows_tests.py

# Individual test
python tests/test_windows_paths.py
python tests/test_windows_web_uploads.py
python tests/test_windows_datasets.py
python tests/test_windows_compatibility.py

Test Coverage Matrix

Category

Feature

Test File

Status

Paths

Drive letters (C:, D:)

test_windows_paths.py

UNC paths (\server\share)

test_windows_paths.py

Long paths (>260 chars)

test_windows_paths.py

Mixed separators (/ and \)

test_windows_paths.py

Relative paths

test_windows_paths.py

Filenames

Reserved names (CON, PRN, etc.)

test_windows_paths.py

Invalid chars (<>:”|?*)

test_windows_paths.py

Trailing spaces/dots

test_windows_paths.py

Length limits (255 chars)

test_windows_paths.py

System Files

Windows (Thumbs.db, Desktop.ini)

test_windows_paths.py

macOS (.DS_Store, etc.)

test_windows_paths.py

Filtering in datasets

test_windows_datasets.py

File I/O

Unicode filenames

test_windows_paths.py

Line endings (CRLF vs LF)

test_windows_paths.py

Text encodings

test_windows_paths.py

File locking

test_windows_datasets.py

Read-only files

test_windows_datasets.py

Web Uploads

Path normalization

test_windows_web_uploads.py

Large batches (5000+ files)

test_windows_web_uploads.py

Session management

test_windows_web_uploads.py

Security (path traversal)

test_windows_web_uploads.py

Datasets

Case-insensitive validation

test_windows_datasets.py

.bidsignore support

test_windows_datasets.py

Cross-platform datasets

test_windows_datasets.py

Core

Platform detection

test_windows_compatibility.py

Cross-platform utilities

test_windows_compatibility.py

Expected Output

🪟 PRISM WINDOWS TEST SUITE
============================================================
Platform: win32
Python: 3.14.1

✅ PASS - Core Windows Compatibility
✅ PASS - Windows Path & Filename Handling  
✅ PASS - Windows Web Interface Uploads
✅ PASS - Windows Dataset Validation

Result: 4/4 test suites passed
🎉 All Windows test suites passed!

Troubleshooting

UTF-8 Encoding Errors

If you see UnicodeEncodeError:

# Set console to UTF-8
chcp 65001

Import Errors

# Activate virtual environment
.\.venv\Scripts\Activate.ps1

# Install dependencies
pip install -r requirements.txt

Permission Errors

# Run as Administrator
# Or check antivirus software

Long Path Issues

# Enable long paths (requires admin)
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
  -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

# Restart required

CI/CD Integration

GitHub Actions

- name: Windows Tests
  if: runner.os == 'Windows'
  run: python tests/run_windows_tests.py

Test Statistics

  • Total Tests: 45

  • Test Suites: 4

  • Pass Rate: 100%

  • Platform: Windows 10+

Documentation

Key Files

tests/
├── test_windows_paths.py          # 17 tests - Path handling
├── test_windows_web_uploads.py    # 11 tests - Web uploads
├── test_windows_datasets.py       # 10 tests - Dataset validation
├── test_windows_compatibility.py  #  7 tests - Core compatibility
├── run_windows_tests.py           # Master runner (Python)
└── run_windows_tests.ps1          # Master runner (PowerShell)

Quick Checks

# Check Python version
python --version

# Check if venv is active
$env:VIRTUAL_ENV

# Check platform
python -c "import sys; print(sys.platform)"

# Test one feature
python -c "from cross_platform import normalize_path; print(normalize_path('C:\\test'))"

Need Help? See WINDOWS_TESTING.md for detailed information.