Add some test setup selection tests.

pull/2311/head
Hemmo Nieminen 8 years ago
parent 060560bf62
commit 473dc80701
  1. 25
      run_unittests.py
  2. 3
      test cases/unit/13 testsetup selection/main.c
  3. 10
      test cases/unit/13 testsetup selection/meson.build
  4. 3
      test cases/unit/13 testsetup selection/subprojects/bar/bar.c
  5. 6
      test cases/unit/13 testsetup selection/subprojects/bar/meson.build
  6. 3
      test cases/unit/13 testsetup selection/subprojects/foo/foo.c
  7. 4
      test cases/unit/13 testsetup selection/subprojects/foo/meson.build

@ -949,6 +949,31 @@ class AllPlatformTests(BasePlatformTests):
# Setup with only a timeout works
self._run(self.mtest_command + ['--setup=timeout'])
def test_testsetup_selection(self):
testdir = os.path.join(self.unit_test_dir, '13 testsetup selection')
self.init(testdir)
self.build()
# Run tests without setup
self.run_tests()
self.assertRaises(subprocess.CalledProcessError, self._run, self.mtest_command + ['--setup=missingfromfoo'])
self._run(self.mtest_command + ['--setup=missingfromfoo', '--no-suite=foo:'])
self._run(self.mtest_command + ['--setup=worksforall'])
self._run(self.mtest_command + ['--setup=main:worksforall'])
self.assertRaises(subprocess.CalledProcessError, self._run,
self.mtest_command + ['--setup=onlyinbar'])
self.assertRaises(subprocess.CalledProcessError, self._run,
self.mtest_command + ['--setup=onlyinbar', '--no-suite=main:'])
self._run(self.mtest_command + ['--setup=onlyinbar', '--no-suite=main:', '--no-suite=foo:'])
self._run(self.mtest_command + ['--setup=bar:onlyinbar'])
self.assertRaises(subprocess.CalledProcessError, self._run,
self.mtest_command + ['--setup=foo:onlyinbar'])
self.assertRaises(subprocess.CalledProcessError, self._run,
self.mtest_command + ['--setup=main:onlyinbar'])
def assertFailedTestCount(self, failure_count, command):
try:
self._run(command)

@ -0,0 +1,3 @@
int main() {
return 0;
}

@ -0,0 +1,10 @@
project('main', 'c')
main = executable('main', 'main.c')
test('Test main', main)
add_test_setup('worksforall')
add_test_setup('missingfromfoo')
subproject('foo')
subproject('bar')

@ -0,0 +1,6 @@
project('bar', 'c')
bar = executable('bar', 'bar.c')
test('Test bar', bar)
add_test_setup('onlyinbar')
add_test_setup('worksforall')
add_test_setup('missingfromfoo')

@ -0,0 +1,4 @@
project('foo', 'c')
foo = executable('foo', 'foo.c')
test('Test foo', foo)
add_test_setup('worksforall')
Loading…
Cancel
Save