(args, cwd, env)
| 597 | |
| 598 | |
| 599 | def exec_and_log(args, cwd, env): |
| 600 | p = subprocess.Popen( |
| 601 | args, |
| 602 | cwd=cwd, |
| 603 | env=env, |
| 604 | bufsize=1, |
| 605 | stdout=subprocess.PIPE, |
| 606 | stderr=subprocess.STDOUT, |
| 607 | ) |
| 608 | |
| 609 | for line in iter(p.stdout.readline, b""): |
| 610 | log(line.rstrip()) |
| 611 | |
| 612 | p.wait() |
| 613 | |
| 614 | if p.returncode: |
| 615 | if "PYBUILD_BREAK_ON_FAILURE" in os.environ: |
| 616 | import pdb |
| 617 | |
| 618 | pdb.set_trace() |
| 619 | |
| 620 | print("process exited %d" % p.returncode) |
| 621 | sys.exit(p.returncode) |
| 622 | |
| 623 | |
| 624 | def validate_python_json(info, extension_modules): |