"""Row 323 tester-switch mutant; run only after Sage CLEAR.""" import hashlib import os from pathlib import Path import subprocess root = Path(__file__).resolve().parents[4] source = root / 'docs/guides/case1-business.mosaic-stack.json' fixed = source.read_bytes() needle = b'"bus.tester": true' assert fixed.count(needle) == 1 try: source.write_bytes(fixed.replace(needle, b'"bus.tester": false')) result = subprocess.run([ 'timeout', '-k', '10', '90', 'node', '--test', '--test-reporter=tap', '--test-name-pattern=row 323: committed Case 1 document loads', 'packages/business/tests/case1-business-file.test.mjs', ], cwd=root, env=os.environ, text=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) Path(__file__).with_suffix('.log').write_text(result.stdout) print(f'bus.tester mutant: exit {result.returncode}', flush=True) assert result.returncode == 1, result.stdout assert '# fail 1\n' in result.stdout and 'false !== true' in result.stdout, result.stdout finally: source.write_bytes(fixed) assert source.read_bytes() == fixed print('restored sha256 ' + hashlib.sha256(fixed).hexdigest(), flush=True)