Bug 1637593 [wpt PR 23564] - Fix superclass calls in MarionetteRefTestExecutor, a...
[gecko.git] / config / run-and-prefix.py
bloba6cd45ba97c1d7fd94528f6030fcff4137f9a7a3
1 #!/usr/bin/env python
2 # This Source Code Form is subject to the terms of the Mozilla Public
3 # License, v. 2.0. If a copy of the MPL was not distributed with this
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 # This script runs a process and prefixes its output with.
7 # Usage: run-and-prefix.py prefix command arg0 argv1...
9 from __future__ import absolute_import, print_function, unicode_literals
11 import os
12 import subprocess
13 import sys
15 sys.stdout = os.fdopen(sys.stdout.fileno(), 'wb', 0)
16 sys.stderr = os.fdopen(sys.stderr.fileno(), 'wb', 0)
18 prefix = sys.argv[1].encode('utf-8')
19 args = sys.argv[2:]
21 p = subprocess.Popen(args, bufsize=0,
22 stdout=subprocess.PIPE,
23 stderr=subprocess.STDOUT,
24 stdin=sys.stdin.fileno())
26 while True:
27 data = p.stdout.readline()
29 if data == b'':
30 break
32 sys.stdout.write(b'%s> %s' % (prefix, data))
34 sys.exit(p.wait())