Faithful re-implementation of tools/testing/selftests/kselftest/ prefix.pl in Python 3 (stdlib only). Same unbuffered stdin-to-stdout processing, same "# " prefix behavior.
Verified byte-for-byte identical to the Perl version. Signed-off-by: Breno Rodrigues Alves <[email protected]> --- tools/testing/selftests/kselftest/prefix.py | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 tools/testing/selftests/kselftest/prefix.py diff --git a/tools/testing/selftests/kselftest/prefix.py b/tools/testing/selftests/kselftest/prefix.py new file mode 100755 index 000000000..2bf16b37d --- /dev/null +++ b/tools/testing/selftests/kselftest/prefix.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-2.0 +# Prefix all lines with "# ", unbuffered. + +import sys + + +def main(): + needed = True + while True: + char = sys.stdin.buffer.read(1) + if not char: + return 0 + if needed: + sys.stdout.buffer.write(b"# ") + needed = False + sys.stdout.buffer.write(char) + sys.stdout.buffer.flush() + if char == b"\n": + needed = True + + +if __name__ == "__main__": + sys.exit(main()) \ No newline at end of file -- 2.43.0

