diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2015-05-25 11:04:44 +0200 |
---|---|---|
committer | Martin Pitt <martin.pitt@ubuntu.com> | 2015-05-25 11:04:44 +0200 |
commit | e3bff60a6ef3419af32552b54bf19331e59c01c9 (patch) | |
tree | 14a42a8e0877e998b27b140fb47e3bac35b6c0ba /test | |
parent | e735f4d4eafc8c8c296cefc8228cf91c3fcfe822 (diff) | |
download | systemd-e3bff60a6ef3419af32552b54bf19331e59c01c9.tar.gz |
Imported Upstream version 220
Diffstat (limited to 'test')
-rw-r--r-- | test/basic.target | 8 | ||||
-rw-r--r-- | test/sysv-generator-test.py | 39 | ||||
-rwxr-xr-x | test/udev-test.pl | 9 |
3 files changed, 36 insertions, 20 deletions
diff --git a/test/basic.target b/test/basic.target index abb63ec560..e0e1e604f8 100644 --- a/test/basic.target +++ b/test/basic.target @@ -8,8 +8,10 @@ [Unit] Description=Basic System Documentation=man:systemd.special(7) - Requires=sysinit.target -After=sysinit.target Wants=sockets.target timers.target paths.target slices.target -After=sockets.target paths.target slices.target +After=sysinit.target sockets.target paths.target slices.target + +# We support /var, /tmp, /var/tmp, being on NFS, but we don't pull in +# remote-fs.target by default, hence explicitly pull /var in here. +RequiresMountsFor=/var /tmp /var/tmp diff --git a/test/sysv-generator-test.py b/test/sysv-generator-test.py index 09f5c01762..e74f8533c7 100644 --- a/test/sysv-generator-test.py +++ b/test/sysv-generator-test.py @@ -126,18 +126,18 @@ class SysvGeneratorTest(unittest.TestCase): return script - def assert_enabled(self, unit, runlevels): - '''assert that a unit is enabled in precisely the given runlevels''' + def assert_enabled(self, unit, targets): + '''assert that a unit is enabled in precisely the given targets''' - all_runlevels = [2, 3, 4, 5] + all_targets = ['multi-user', 'graphical'] # should be enabled - for runlevel in all_runlevels: - link = os.path.join(self.out_dir, 'runlevel%i.target.wants' % runlevel, unit) - if runlevel in runlevels: - target = os.readlink(link) - self.assertTrue(os.path.exists(target)) - self.assertEqual(os.path.basename(target), unit) + for target in all_targets: + link = os.path.join(self.out_dir, '%s.target.wants' % target, unit) + if target in targets: + unit_file = os.readlink(link) + self.assertTrue(os.path.exists(unit_file)) + self.assertEqual(os.path.basename(unit_file), unit) else: self.assertFalse(os.path.exists(link), '%s unexpectedly exists' % link) @@ -178,13 +178,16 @@ class SysvGeneratorTest(unittest.TestCase): self.assertEqual(s.get('Service', 'ExecStop'), '%s stop' % init_script) + self.assertNotIn('Overwriting', err) + def test_simple_enabled_all(self): '''simple service without dependencies, enabled in all runlevels''' self.add_sysv('foo', {}, enable=True) err, results = self.run_generator() self.assertEqual(list(results), ['foo.service']) - self.assert_enabled('foo.service', [2, 3, 4, 5]) + self.assert_enabled('foo.service', ['multi-user', 'graphical']) + self.assertNotIn('Overwriting', err) def test_simple_enabled_some(self): '''simple service without dependencies, enabled in some runlevels''' @@ -192,7 +195,7 @@ class SysvGeneratorTest(unittest.TestCase): self.add_sysv('foo', {'Default-Start': '2 4'}, enable=True) err, results = self.run_generator() self.assertEqual(list(results), ['foo.service']) - self.assert_enabled('foo.service', [2, 4]) + self.assert_enabled('foo.service', ['multi-user']) def test_lsb_macro_dep_single(self): '''single LSB macro dependency: $network''' @@ -270,6 +273,7 @@ class SysvGeneratorTest(unittest.TestCase): for f in ['bar.service', 'baz.service']: self.assertEqual(os.readlink(os.path.join(self.out_dir, f)), 'foo.service') + self.assertNotIn('Overwriting', err) def test_same_provides_in_multiple_scripts(self): '''multiple init.d scripts provide the same name''' @@ -289,6 +293,9 @@ class SysvGeneratorTest(unittest.TestCase): self.add_sysv('bar', {'Provides': 'bar'}, enable=True) err, results = self.run_generator() self.assertEqual(sorted(results), ['bar.service', 'foo.service']) + # we do expect an overwrite here, bar.service should overwrite the + # alias link from foo.service + self.assertIn('Overwriting', err) def test_nonexecutable_script(self): '''ignores non-executable init.d script''' @@ -315,7 +322,7 @@ class SysvGeneratorTest(unittest.TestCase): self.assertEqual(s.get('Service', 'ExecStop'), '%s stop' % init_script) - self.assert_enabled('foo.service', [2, 3, 4, 5]) + self.assert_enabled('foo.service', ['multi-user', 'graphical']) def test_sh_suffix_with_provides(self): '''init.d script with .sh suffix and Provides:''' @@ -323,7 +330,7 @@ class SysvGeneratorTest(unittest.TestCase): self.add_sysv('foo.sh', {'Provides': 'foo bar'}) err, results = self.run_generator() # ensure we don't try to create a symlink to itself - self.assertNotIn(err, 'itself') + self.assertNotIn('itself', err) self.assertEqual(list(results), ['foo.service']) self.assertEqual(results['foo.service'].get('Unit', 'Description'), 'LSB: test foo service') @@ -345,7 +352,7 @@ class SysvGeneratorTest(unittest.TestCase): err, results = self.run_generator() self.assertEqual(list(results), ['foo.service']) - self.assert_enabled('foo.service', [2, 3, 4, 5]) + self.assert_enabled('foo.service', ['multi-user', 'graphical']) def test_backup_file(self): '''init.d script with backup file''' @@ -361,9 +368,9 @@ class SysvGeneratorTest(unittest.TestCase): ['foo.bak.service', 'foo.old.service', 'foo.service']) # ensure we don't try to create a symlink to itself - self.assertNotIn(err, 'itself') + self.assertNotIn('itself', err) - self.assert_enabled('foo.service', [2, 3, 4, 5]) + self.assert_enabled('foo.service', ['multi-user', 'graphical']) self.assert_enabled('foo.bak.service', []) self.assert_enabled('foo.old.service', []) diff --git a/test/udev-test.pl b/test/udev-test.pl index d9b7967004..64d7f93444 100755 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -22,7 +22,9 @@ use strict; my $udev_bin = "./test-udev"; my $valgrind = 0; -my $udev_bin_valgrind = "valgrind --tool=memcheck --leak-check=yes --quiet $udev_bin"; +my $gdb = 0; +my $udev_bin_valgrind = "valgrind --tool=memcheck --leak-check=yes --track-origins=yes --quiet $udev_bin"; +my $udev_bin_gdb = "gdb --args $udev_bin"; my $udev_dev = "test/dev"; my $udev_run = "test/run"; my $udev_rules_dir = "$udev_run/udev/rules.d"; @@ -1326,6 +1328,8 @@ sub udev { if ($valgrind > 0) { system("$udev_bin_valgrind $action $devpath"); + } elsif ($gdb > 0) { + system("$udev_bin_gdb $action $devpath"); } else { system("$udev_bin", "$action", "$devpath"); } @@ -1502,6 +1506,9 @@ foreach my $arg (@ARGV) { if ($arg =~ m/--valgrind/) { $valgrind = 1; printf("using valgrind\n"); + } elsif ($arg =~ m/--gdb/) { + $gdb = 1; + printf("using gdb\n"); } else { push(@list, $arg); } |