tests/testlib/sigpipe-worker.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 24 Jan 2022 12:58:18 +0100
changeset 48645 ff0233f36f6a
parent 47618 27ff81547d35
child 48875 6000f5b25c9b
permissions -rwxr-xr-x
test-bundle: split some variant in there own section Same rational as the previous commit about test-bundle.t. These line are quite volatile and having dedicated block will make their update clearer and simpler. Differential Revision: https://phab.mercurial-scm.org/D12076

#!/usr/bin/env python3
#
# This is literally `cat` but in python, one char at a time.
#
# see sigpipe-remote.py for details.
from __future__ import print_function

import io
import os
import sys


if isinstance(sys.stdout.buffer, io.BufferedWriter):
    print('SIGPIPE-WORKER: script need unbuffered output', file=sys.stderr)
    sys.exit(255)

while True:
    c = os.read(sys.stdin.fileno(), 1)
    os.write(sys.stdout.fileno(), c)