"""Synthetic external-process pipeline checks; no arguments or network."""
from pathlib import Path
import tempfile,subprocess,json
RECIPE='''set -uo pipefail
if /bin/bash -e producer.sh 2>&1 | tee "$1"; then
  statuses=("${PIPESTATUS[@]}")
else
  statuses=("${PIPESTATUS[@]}")
fi
printf 'producer=%s logger=%s\\n' "${statuses[0]}" "${statuses[1]}"
if (( statuses[0] != 0 )); then exit "${statuses[0]}"; fi
exit "${statuses[1]}"
'''
def run():
 results=[]
 cases=[('child_errexit','false\nprintf "UNREACHED\\n"\n','log.txt',1,'producer=1 logger=0'),('producer_success_logger_failure','printf "dummy\\n"\n','missing/log.txt',1,'producer=0 logger=1'),('both_fail','printf "dummy\\n"\nexit 7\n','missing/log.txt',7,'producer=7 logger=1'),('both_succeed','printf "dummy\\n"\n','log.txt',0,'producer=0 logger=0')]
 with tempfile.TemporaryDirectory(prefix='external-pipeline-') as td:
  for name,source,log,code,marker in cases:
   d=Path(td)/name;d.mkdir();(d/'producer.sh').write_text(source)
   r=subprocess.run(['/bin/bash','--noprofile','--norc','-c',RECIPE,'lab',log],cwd=d,env={'PATH':'/usr/bin:/bin','LC_ALL':'C'},text=True,capture_output=True,timeout=5)
   assert r.returncode==code and marker in r.stdout and 'UNREACHED' not in r.stdout,(name,r)
   results.append({'case':name,'exit':r.returncode,'stdout':r.stdout,'stderr':r.stderr,'passed':True})
 return {'passed':True,'bash':subprocess.check_output(['/bin/bash','--version'],text=True).splitlines()[0],'cases':results,'limits':'Local Bash3.2; no GitHub runner or AI product test, signals, disk full, process substitution, or background jobs.'}
if __name__=='__main__':print(json.dumps(run(),indent=2))
