mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
112 lines
4.9 KiB
Python
112 lines
4.9 KiB
Python
from nose2.tests._common import FunctionalTestCase
|
|
from nose2.tools import such
|
|
|
|
class TestSuchDSL(FunctionalTestCase):
|
|
def test_runs_example(self):
|
|
proc = self.runIn(
|
|
'such',
|
|
'-v',
|
|
'--plugin=nose2.plugins.layers',
|
|
'test_such')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 9 tests')
|
|
self.assertEqual(proc.poll(), 0, proc.stderr.getvalue())
|
|
|
|
def test_load_top_level_by_name(self):
|
|
proc = self.runIn(
|
|
'such',
|
|
'-v',
|
|
'--plugin=nose2.plugins.layers',
|
|
'test_such.A system with complex setup.should do something')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 1 test')
|
|
self.assertEqual(proc.poll(), 0, proc.stderr.getvalue())
|
|
|
|
def test_load_sublayer_test_by_name(self):
|
|
proc = self.runIn(
|
|
'such',
|
|
'-v',
|
|
'--plugin=nose2.plugins.layers',
|
|
'test_such.having an expensive fixture.'
|
|
'should do more things')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 1 test')
|
|
self.assertEqual(proc.poll(), 0, proc.stderr.getvalue())
|
|
|
|
def test_regression_tests_with_the_same_having_description_under_different_fixtures_in_the_same_module_should_be_run(
|
|
self):
|
|
proc = self.runIn(
|
|
'such',
|
|
'-v',
|
|
'--plugin=nose2.plugins.layers',
|
|
'test_regression_same_havings')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 2 test')
|
|
self.assertEqual(proc.poll(), 0, proc.stderr.getvalue())
|
|
|
|
def test_teardown_fail(self):
|
|
proc = self.runIn('scenario/layers_with_errors',
|
|
'--plugin=nose2.plugins.layers',
|
|
'-v',
|
|
'test_such_teardown_fail')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 1 test in')
|
|
self.assertTestRunOutputMatches(proc, stderr='ERROR: LayerSuite')
|
|
self.assertTestRunOutputMatches(proc, stderr=r'FAILED \(errors=1\)')
|
|
self.assertTestRunOutputMatches(proc, stderr='Bad Error in such tearDown')
|
|
|
|
def test_setup_fail(self):
|
|
proc = self.runIn('scenario/layers_with_errors',
|
|
'--plugin=nose2.plugins.layers',
|
|
'-v',
|
|
'test_such_setup_fail')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 0 tests in')
|
|
self.assertTestRunOutputMatches(proc, stderr='ERROR: LayerSuite')
|
|
self.assertTestRunOutputMatches(proc, stderr=r'FAILED \(errors=1\)')
|
|
self.assertTestRunOutputMatches(proc, stderr='Bad Error in such setUp!')
|
|
|
|
def test_param_plugin_with_such(self):
|
|
proc = self.runIn('scenario/such_with_params',
|
|
'--plugin=nose2.plugins.layers',
|
|
'-v',
|
|
'such_with_params')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 6 tests in')
|
|
self.assertTestRunOutputMatches(proc, stderr='OK')
|
|
self.assertTestRunOutputMatches(proc, stderr='test 0000: should do bar:3')
|
|
self.assertTestRunOutputMatches(proc, stderr='test 0001: should do bar and extra:3')
|
|
|
|
def test_such_without_layers_plugin(self):
|
|
proc = self.runIn('such',
|
|
'-v',
|
|
'test_such_without_layers')
|
|
self.assertTestRunOutputMatches(proc, stderr=r'FAILED')
|
|
self.assertTestRunOutputMatches(proc, stderr=such.LAYERS_PLUGIN_NOT_LOADED_MESSAGE)
|
|
|
|
def test_testsetup_on_higher_layer_with_test(self):
|
|
proc = self.runIn('scenario/layers_setups',
|
|
'--plugin=nose2.plugins.layers',
|
|
'-v',
|
|
'higher_layer_testsetup_with_test')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 3 tests in')
|
|
self.assertTestRunOutputMatches(proc, stderr='OK')
|
|
|
|
def test_testsetup_on_higher_layer(self):
|
|
proc = self.runIn('scenario/layers_setups',
|
|
'--plugin=nose2.plugins.layers',
|
|
'-v',
|
|
'higher_layer_testsetup_no_test')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 2 tests in')
|
|
self.assertTestRunOutputMatches(proc, stderr='OK')
|
|
|
|
def test_testsetup_on_higher_layer_3layers(self):
|
|
proc = self.runIn('scenario/layers_setups',
|
|
'--plugin=nose2.plugins.layers',
|
|
'-v',
|
|
'higher_layer_testsetup_3layers')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 2 tests in')
|
|
self.assertTestRunOutputMatches(proc, stderr='OK')
|
|
|
|
def test_setup_on_higher_layer(self):
|
|
proc = self.runIn('scenario/layers_setups',
|
|
'--plugin=nose2.plugins.layers',
|
|
'-v',
|
|
'higher_layer_setup')
|
|
self.assertTestRunOutputMatches(proc, stderr='Ran 2 tests in')
|
|
self.assertTestRunOutputMatches(proc, stderr='OK')
|
|
|