chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove sysusers.d
[elogind.git]
/
test
/
udev-test.pl
diff --git
a/test/udev-test.pl
b/test/udev-test.pl
index a9f5db03cfa21b0d543b946d0caae14828fc69b7..64d7f934445ef181fa133defdeec8b7515d6add0 100755
(executable)
--- a/
test/udev-test.pl
+++ b/
test/udev-test.pl
@@
-22,11
+22,14
@@
use strict;
my $udev_bin = "./test-udev";
my $valgrind = 0;
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";
my $udev_rules = "$udev_rules_dir/udev-test.rules";
my $udev_dev = "test/dev";
my $udev_run = "test/run";
my $udev_rules_dir = "$udev_run/udev/rules.d";
my $udev_rules = "$udev_rules_dir/udev-test.rules";
+my $EXIT_TEST_SKIP = 77;
my @tests = (
{
my @tests = (
{
@@
-549,21
+552,21
@@
KERNEL=="tty33", OWNER="bad", GROUP="name"
EOF
},
{
EOF
},
{
- desc => "permissions OWNER=
5000
",
+ desc => "permissions OWNER=
1
",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "node",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "node",
- exp_perms => "
5000
::0600",
+ exp_perms => "
1
::0600",
rules => <<EOF
rules => <<EOF
-SUBSYSTEMS=="scsi", KERNEL=="sda", SYMLINK+="node", OWNER="
5000
"
+SUBSYSTEMS=="scsi", KERNEL=="sda", SYMLINK+="node", OWNER="
1
"
EOF
},
{
EOF
},
{
- desc => "permissions GROUP=1
00
",
+ desc => "permissions GROUP=1",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "node",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "node",
- exp_perms => ":1
00
:0660",
+ exp_perms => ":1:0660",
rules => <<EOF
rules => <<EOF
-SUBSYSTEMS=="scsi", KERNEL=="sda", SYMLINK+="node", GROUP="1
00
"
+SUBSYSTEMS=="scsi", KERNEL=="sda", SYMLINK+="node", GROUP="1"
EOF
},
{
EOF
},
{
@@
-603,30
+606,30
@@
SUBSYSTEMS=="scsi", KERNEL=="sda", SYMLINK+="node", MODE="0777"
EOF
},
{
EOF
},
{
- desc => "permissions OWNER=
5000 GROUP=100
MODE=0777",
+ desc => "permissions OWNER=
1 GROUP=1
MODE=0777",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "node",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "node",
- exp_perms => "
5000:100
:0777",
+ exp_perms => "
1:1
:0777",
rules => <<EOF
rules => <<EOF
-SUBSYSTEMS=="scsi", KERNEL=="sda", SYMLINK+="node", OWNER="
5000", GROUP="100
", MODE="0777"
+SUBSYSTEMS=="scsi", KERNEL=="sda", SYMLINK+="node", OWNER="
1", GROUP="1
", MODE="0777"
EOF
},
{
EOF
},
{
- desc => "permissions OWNER to
5000
",
+ desc => "permissions OWNER to
1
",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
- exp_perms => "
5000
::",
+ exp_perms => "
1
::",
rules => <<EOF
rules => <<EOF
-KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n", OWNER="
5000
"
+KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n", OWNER="
1
"
EOF
},
{
EOF
},
{
- desc => "permissions GROUP to 1
00
",
+ desc => "permissions GROUP to 1",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
- exp_perms => ":1
00
:0660",
+ exp_perms => ":1:0660",
rules => <<EOF
rules => <<EOF
-KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n", GROUP="1
00
"
+KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n", GROUP="1"
EOF
},
{
EOF
},
{
@@
-642,19
+645,19
@@
EOF
desc => "permissions OWNER, GROUP, MODE",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
desc => "permissions OWNER, GROUP, MODE",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
- exp_perms => "
5000:100
:0777",
+ exp_perms => "
1:1
:0777",
rules => <<EOF
rules => <<EOF
-KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n", OWNER="
5000", GROUP="100
", MODE="0777"
+KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n", OWNER="
1", GROUP="1
", MODE="0777"
EOF
},
{
desc => "permissions only rule",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
EOF
},
{
desc => "permissions only rule",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
- exp_perms => "
5000:100
:0777",
+ exp_perms => "
1:1
:0777",
rules => <<EOF
rules => <<EOF
-KERNEL=="ttyACM[0-9]*", OWNER="
5000", GROUP="100
", MODE="0777"
-KERNEL=="ttyUSX[0-9]*", OWNER="
5001", GROUP="101
", MODE="0444"
+KERNEL=="ttyACM[0-9]*", OWNER="
1", GROUP="1
", MODE="0777"
+KERNEL=="ttyUSX[0-9]*", OWNER="
2", GROUP="2
", MODE="0444"
KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n"
EOF
},
KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n"
EOF
},
@@
-662,12
+665,12
@@
EOF
desc => "multiple permissions only rule",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
desc => "multiple permissions only rule",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
- exp_perms => "
3000:4000
:0777",
+ exp_perms => "
1:1
:0777",
rules => <<EOF
rules => <<EOF
-SUBSYSTEM=="tty", OWNER="
3000
"
-SUBSYSTEM=="tty", GROUP="
4000
"
+SUBSYSTEM=="tty", OWNER="
1
"
+SUBSYSTEM=="tty", GROUP="
1
"
SUBSYSTEM=="tty", MODE="0777"
SUBSYSTEM=="tty", MODE="0777"
-KERNEL=="ttyUSX[0-9]*", OWNER="
5001", GROUP="101
", MODE="0444"
+KERNEL=="ttyUSX[0-9]*", OWNER="
2", GROUP="2
", MODE="0444"
KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n"
EOF
},
KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n"
EOF
},
@@
-675,13
+678,13
@@
EOF
desc => "permissions only rule with override at SYMLINK+ rule",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
desc => "permissions only rule with override at SYMLINK+ rule",
devpath => "/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0",
exp_name => "ttyACM0",
- exp_perms => "
3000:8000
:0777",
+ exp_perms => "
1:2
:0777",
rules => <<EOF
rules => <<EOF
-SUBSYSTEM=="tty", OWNER="
3000
"
-SUBSYSTEM=="tty", GROUP="
4000
"
+SUBSYSTEM=="tty", OWNER="
1
"
+SUBSYSTEM=="tty", GROUP="
1
"
SUBSYSTEM=="tty", MODE="0777"
SUBSYSTEM=="tty", MODE="0777"
-KERNEL=="ttyUSX[0-9]*", OWNER="
5001", GROUP="101
", MODE="0444"
-KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n", GROUP="
8000
"
+KERNEL=="ttyUSX[0-9]*", OWNER="
2", GROUP="2
", MODE="0444"
+KERNEL=="ttyACM[0-9]*", SYMLINK+="ttyACM%n", GROUP="
2
"
EOF
},
{
EOF
},
{
@@
-1232,8
+1235,8
@@
EOF
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "there",
rules => <<EOF
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "there",
rules => <<EOF
-TEST=="/etc/
hosts
", SYMLINK+="there"
-TEST!="/etc/
hosts
", SYMLINK+="notthere"
+TEST=="/etc/
machine-id
", SYMLINK+="there"
+TEST!="/etc/
machine-id
", SYMLINK+="notthere"
EOF
},
{
EOF
},
{
@@
-1274,11
+1277,11
@@
EOF
desc => "TEST PROGRAM feeds OWNER, GROUP, MODE",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "sda",
desc => "TEST PROGRAM feeds OWNER, GROUP, MODE",
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",
exp_name => "sda",
- exp_perms => "
5000:100
:0400",
+ exp_perms => "
1:1
:0400",
exp_rem_error => "yes",
rules => <<EOF
KERNEL=="sda", MODE="666"
exp_rem_error => "yes",
rules => <<EOF
KERNEL=="sda", MODE="666"
-KERNEL=="sda", PROGRAM=="/bin/echo
5000 100
0400", OWNER="%c{1}", GROUP="%c{2}", MODE="%c{3}"
+KERNEL=="sda", PROGRAM=="/bin/echo
1 1
0400", OWNER="%c{1}", GROUP="%c{2}", MODE="%c{3}"
EOF
},
{
EOF
},
{
@@
-1325,6
+1328,8
@@
sub udev {
if ($valgrind > 0) {
system("$udev_bin_valgrind $action $devpath");
if ($valgrind > 0) {
system("$udev_bin_valgrind $action $devpath");
+ } elsif ($gdb > 0) {
+ system("$udev_bin_gdb $action $devpath");
} else {
system("$udev_bin", "$action", "$devpath");
}
} else {
system("$udev_bin", "$action", "$devpath");
}
@@
-1485,6
+1490,13
@@
if (!($<==0)) {
exit;
}
exit;
}
+# skip the test when running in a container
+system("systemd-detect-virt", "-c", "-q");
+if ($? >> 8 == 0) {
+ print "Running in a container, skipping the test.\n";
+ exit($EXIT_TEST_SKIP);
+}
+
udev_setup();
my $test_num = 1;
udev_setup();
my $test_num = 1;
@@
-1494,6
+1506,9
@@
foreach my $arg (@ARGV) {
if ($arg =~ m/--valgrind/) {
$valgrind = 1;
printf("using valgrind\n");
if ($arg =~ m/--valgrind/) {
$valgrind = 1;
printf("using valgrind\n");
+ } elsif ($arg =~ m/--gdb/) {
+ $gdb = 1;
+ printf("using gdb\n");
} else {
push(@list, $arg);
}
} else {
push(@list, $arg);
}
@@
-1518,7
+1533,7
@@
if ($list[0]) {
}
}
}
}
-print "$error errors occured\n\n";
+print "$error errors occur
r
ed\n\n";
# cleanup
system("rm", "-rf", "$udev_dev");
# cleanup
system("rm", "-rf", "$udev_dev");