diff options
author | N. Engelhardt <nak@symbioticeda.com> | 2020-02-13 20:52:22 +0100 |
---|---|---|
committer | N. Engelhardt <nak@symbioticeda.com> | 2020-02-13 20:52:22 +0100 |
commit | c2467fdd558f7a12e77ed3a14cf704a932819fdf (patch) | |
tree | 53f75c162ed9b94273ce28ee4b19d8f4f6277dd4 /tests/rpc/frontend.py | |
parent | cb7bc6a12fee1d948b7f91fd37f326dbd4f5ca47 (diff) | |
download | yosys-c2467fdd558f7a12e77ed3a14cf704a932819fdf.tar.gz yosys-c2467fdd558f7a12e77ed3a14cf704a932819fdf.tar.bz2 yosys-c2467fdd558f7a12e77ed3a14cf704a932819fdf.zip |
make rpc frontend unix socket test less fragile
Diffstat (limited to 'tests/rpc/frontend.py')
-rw-r--r-- | tests/rpc/frontend.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tests/rpc/frontend.py b/tests/rpc/frontend.py index eff41738a..eace07bf9 100644 --- a/tests/rpc/frontend.py +++ b/tests/rpc/frontend.py @@ -31,7 +31,7 @@ end import json import argparse -import sys, socket, os +import sys, socket, os, subprocess try: import msvcrt, win32pipe, win32file except ImportError: @@ -85,6 +85,7 @@ def main(): sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.bind(args.path) try: + ys_proc = subprocess.Popen(["../../yosys", "-ql", "unix.log", "-p", "connect_rpc -path {}; read_verilog design.v; hierarchy -top top; flatten; select -assert-count 1 t:$neg".format(args.path)]) sock.listen(1) conn, addr = sock.accept() file = conn.makefile("rw") @@ -93,7 +94,11 @@ def main(): if not input: break file.write(call(input) + "\n") file.flush() + ys_proc.wait(timeout=10) + if ys_proc.returncode: + raise subprocess.CalledProcessError(ys_proc.returncode, ys_proc.args) finally: + ys_proc.kill() sock.close() os.unlink(args.path) |