"""Public reference example: bounded process-result checks.
This checks exit status and expected text, not authenticity or security.
Run: python process_check.py
"""
import subprocess
import sys

def check_result(result, expected):
    return result.returncode == 0 and expected in result.stdout.splitlines()

def run_tests():
    cases = [
        ("success and expected output", 0, "CHECK_OK\n", True),
        ("nonzero exit with expected output", 1, "CHECK_OK\n", False),
        ("success with missing output", 0, "other\n", False),
        ("empty output", 0, "", False),
    ]
    for name, code, output, expected in cases:
        result = subprocess.CompletedProcess(args=[], returncode=code, stdout=output)
        assert check_result(result, "CHECK_OK") is expected, name
        print("PASS: " + name)
    actual = subprocess.run([sys.executable, "-c", "print('CHECK_OK')"], capture_output=True, text=True, check=False)
    assert check_result(actual, "CHECK_OK")
    print("PASS: real local subprocess")
    print("5/5 checks passed")

if __name__ == "__main__":
    run_tests()
