diff options
Diffstat (limited to 'tests/lib/test_grpc.py')
-rw-r--r-- | tests/lib/test_grpc.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/lib/test_grpc.py b/tests/lib/test_grpc.py new file mode 100644 index 0000000..7f722de --- /dev/null +++ b/tests/lib/test_grpc.py @@ -0,0 +1,33 @@ +import inspect +import os +import subprocess + +import frrtest +import pytest + + +class TestGRPC(object): + program = "./test_grpc" + + @pytest.mark.skipif( + 'S["GRPC_TRUE"]=""\n' not in open("../config.status").readlines(), + reason="GRPC not enabled", + ) + @pytest.mark.skipif( + not os.path.isdir("/usr/share/yang"), + reason="YANG models aren't installed in /usr/share/yang", + ) + def test_exits_cleanly(self): + basedir = os.path.dirname(inspect.getsourcefile(type(self))) + program = os.path.join(basedir, self.program) + proc = subprocess.Popen( + [frrtest.binpath(program)], + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + ) + output, _ = proc.communicate() + self.exitcode = proc.wait() + if self.exitcode != 0: + print("OUTPUT:\n" + output.decode("ascii")) + raise frrtest.TestExitNonzero(self) |