From: David Lamparter Date: Sat, 11 Feb 2017 00:03:57 +0000 (+0100) Subject: tests: fix out-of-tree build X-Git-Tag: frr-3.0-branchpoint~34^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F197%2Fhead;p=mirror%2Ffrr.git tests: fix out-of-tree build Fix pytest with $(top_srcdir) != "." Signed-off-by: David Lamparter --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 922ec37a24..f48abac47a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -144,5 +144,5 @@ EXTRA_DIST = \ .PHONY: tests.xml tests.xml: $(check_PROGRAMS) - $(PYTHON) runtests.py --junitxml=$@ -v + $(PYTHON) $(srcdir)/runtests.py --junitxml=$@ -v $(srcdir) check: tests.xml diff --git a/tests/helpers/python/frrtest.py b/tests/helpers/python/frrtest.py index 2814416d11..20c854f66c 100644 --- a/tests/helpers/python/frrtest.py +++ b/tests/helpers/python/frrtest.py @@ -35,6 +35,12 @@ import frrsix # See below for the definition of actual TestMultiOut tests. # +srcbase = os.path.abspath(inspect.getsourcefile(frrsix)) +for i in range(0, 3): + srcbase = os.path.dirname(srcbase) +def binpath(srcpath): + return os.path.relpath(os.path.abspath(srcpath), srcbase) + class MultiTestFailure(Exception): pass @@ -59,7 +65,7 @@ class _TestMultiOut(object): self.__class__.tests_run = True basedir = os.path.dirname(inspect.getsourcefile(type(self))) program = os.path.join(basedir, self.program) - proc = subprocess.Popen([program], stdout=subprocess.PIPE) + proc = subprocess.Popen([binpath(program)], stdout=subprocess.PIPE) self.output,_ = proc.communicate('') self.exitcode = proc.wait() @@ -167,7 +173,7 @@ class TestRefOut(object): with open(refout, 'rb') as f: reftext = f.read() - proc = subprocess.Popen([program], + proc = subprocess.Popen([binpath(program)], stdin=subprocess.PIPE, stdout=subprocess.PIPE) outtext,_ = proc.communicate(intext)