summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2015-05-25 11:04:44 +0200
committerMartin Pitt <martin.pitt@ubuntu.com>2015-05-25 11:04:44 +0200
commite3bff60a6ef3419af32552b54bf19331e59c01c9 (patch)
tree14a42a8e0877e998b27b140fb47e3bac35b6c0ba /test
parente735f4d4eafc8c8c296cefc8228cf91c3fcfe822 (diff)
downloadsystemd-e3bff60a6ef3419af32552b54bf19331e59c01c9.tar.gz
Imported Upstream version 220
Diffstat (limited to 'test')
-rw-r--r--test/basic.target8
-rw-r--r--test/sysv-generator-test.py39
-rwxr-xr-xtest/udev-test.pl9
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);
}