chiark / gitweb /
[PATCH] make udev-test.pl test for root permissions before running
[elogind.git] / test / udev-test.pl
index 9e4e192c51230f3465cd8e59bea774d7df2a2065..e8ce0b44ddfdbe52461d228cf84b7f0433051fb8 100644 (file)
@@ -550,11 +550,11 @@ KERNEL="tty2", NAME="tty2"
 EOF
        },
        {
-               desc            => "permissions tty3:::",
+               desc            => "permissions tty3::: (default mode applied)",
                subsys          => "tty",
                devpath         => "/class/tty/tty3",
                exp_name        => "tty3",
-               exp_perms       => "0:0:0",
+               exp_perms       => "0:0:600",
                conf            => <<EOF
 KERNEL="tty3", NAME="tty3"
 EOF
@@ -777,6 +777,16 @@ EOF
                exp_majorminor  => "4094:89999",
                conf            => <<EOF
 KERNEL="i2c-fake2", NAME="node"
+EOF
+       },
+       {
+               desc            => "multiple symlinks with format char",
+               subsys          => "tty",
+               devpath         => "/class/tty/ttyUSB0",
+               exp_name        => "symlink2-ttyUSB0",
+               exp_target      => "ttyUSB0",
+               conf            => <<EOF
+KERNEL="ttyUSB[0-9]*", NAME="ttyUSB%n", SYMLINK="symlink1-%n symlink2-%k symlink3-%b"
 EOF
        },
        {
@@ -1100,7 +1110,6 @@ EOF
 $ENV{UDEV_TEST} = "yes";
 $ENV{SYSFS_PATH} = $sysfs;
 $ENV{UDEV_CONFIG_FILE} = $main_conf;
-$ENV{UDEV_NO_SLEEP} = "yes";
 $ENV{UDEV_NO_DEVD} = "yes";
 
 
@@ -1266,6 +1275,13 @@ sub run_test {
 
 }
 
+# only run if we have root permissions
+# due to mknod restrictions
+if (!($<==0)) {
+       print "Must have root permissions to run properly.\n";
+       exit;
+}
+
 # prepare
 system("rm -rf $udev_root");
 mkdir($udev_root) || die "unable to create udev_root: $udev_root\n";