#!/usr/bin/env python3 """Verification test for wordcount.py - must match wc output exactly.""" import subprocess import sys import tempfile import os # Create test file with known content test_content = "Hello world\nThis is a test file\nWith three lines\n" test_file = "/root/troupe-standup/test_verification.txt" with open(test_file, 'w') as f: f.write(test_content) # Get wc output wc_result = subprocess.run(['wc', test_file], capture_output=True, text=True) wc_lines, wc_words, wc_chars = map(int, wc_result.stdout.strip().split()[:3]) # Get wordcount.py output pyc_result = subprocess.run( ['python3', '/root/.hermes/wizard-outputs/spark/wordcount.py', test_file], capture_output=True, text=True ) if pyc_result.returncode != 0: print(f"FAIL: wordcount.py returned {pyc_result.returncode}") print(pyc_result.stderr) sys.exit(1) parts = pyc_result.stdout.strip().split() py_lines, py_words, py_chars = int(parts[0]), int(parts[1]), int(parts[2]) print(f"wc: {wc_lines} lines, {wc_words} words, {wc_chars} chars") print(f"wordcount.py: {py_lines} lines, {py_words} words, {py_chars} chars") if (wc_lines == py_lines and wc_words == py_words and wc_chars == py_chars): print("PASS: outputs match") sys.exit(0) else: print("FAIL: outputs do not match") sys.exit(1)