Files
troupe-standup/wizard-work/spark/verify_dir_analyzer.py
T

33 lines
1.2 KiB
Python

#!/usr/bin/env python3
"""Verification test for dir_analyzer.py"""
import subprocess
import json
import sys
def _check(cond, msg="check failed"):
"""Explicit failure path -- survives `python3 -O`, where `assert` is compiled away."""
if not cond:
raise SystemExit(f"FAIL: {msg}")
# Test JSON mode
result = subprocess.run(['python3', 'dir_analyzer.py', '/etc', '--json'],
capture_output=True, text=True, cwd='/root/troupe-standup/wizard-work/spark')
data = json.loads(result.stdout)
_check('total_files' in data, "Missing total_files")
_check('total_size_bytes' in data, "Missing total_size_bytes")
_check(data['total_files'] > 0, "Should find files in /etc")
_check(data['total_size_bytes'] > 0, "Should have size > 0")
print(f"JSON mode: PASS - {data['total_files']} files, {data['total_size_bytes']} bytes")
# Test text mode
result2 = subprocess.run(['python3', 'dir_analyzer.py', '/tmp'],
capture_output=True, text=True, cwd='/root/troupe-standup/wizard-work/spark')
_check('Total files:' in result2.stdout, "Should show file count")
_check('Total size:' in result2.stdout, "Should show size")
print("Text mode: PASS")
print("All verification tests passed")