pytest.mark.skipif apparently iterates through a class's methods,
applying itself onto the various methods. Now, since we're deriving
from a parent class, the method is actually the same object inherited
from the parent, so the decorator will apply itself on the parent's
testrunning method (test_refout). The result is that any TestRefout
tests after "test_commands.py" will be skipped...
This only became apparent after adding ospf6d/test_lsdb.py; before,
test_commands.py was the last test in the list so it didn't matter...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
import pytest
import os
-@pytest.mark.skipif('QUAGGA_TEST_COMMANDS' not in os.environ,
- reason='QUAGGA_TEST_COMMANDS not set')
class TestCommands(frrtest.TestRefOut):
program = './test_commands'
+
+ @pytest.mark.skipif('QUAGGA_TEST_COMMANDS' not in os.environ,
+ reason='QUAGGA_TEST_COMMANDS not set')
+ def test_refout(self):
+ return super(TestCommands, self).test_refout(self)