| 29 import subprocess |
29 import subprocess |
| 30 import sys |
30 import sys |
| 31 |
31 |
| 32 |
32 |
| 33 def main(): |
33 def main(): |
| |
34 if len(sys.argv) < 2: |
| |
35 print('invalid arguments:') |
| |
36 print(f'usage: {sys.argv[0]} [path to gtk4-broadwayd] [tests]...') |
| |
37 sys.exit(1) |
| |
38 |
| 34 # start broadway |
39 # start broadway |
| 35 broadwayd = subprocess.Popen(['gtk4-broadwayd']) |
40 broadwayd = subprocess.Popen(sys.argv[1]) |
| 36 |
41 |
| 37 # run the unit test but set the GDK_BACKEND envvar to broadway |
42 # run the unit test but set the GDK_BACKEND envvar to broadway |
| 38 env = {**os.environ, 'GDK_BACKEND': 'broadway'} |
43 env = {**os.environ, 'GDK_BACKEND': 'broadway'} |
| 39 |
44 |
| 40 try: |
45 try: |
| 41 proc = subprocess.run(args=sys.argv[1:], env=env) |
46 proc = subprocess.run(args=sys.argv[2:], env=env) |
| 42 finally: |
47 finally: |
| 43 # kill broadway |
48 # kill broadway |
| 44 broadwayd.kill() |
49 broadwayd.kill() |
| 45 |
50 |
| 46 # return the exit code of the unit test |
51 # return the exit code of the unit test |