diff options
author | Evgeny Vereshchagin <evvers@ya.ru> | 2016-04-05 06:13:41 +0000 |
---|---|---|
committer | Evgeny Vereshchagin <evvers@ya.ru> | 2016-04-05 10:38:09 +0000 |
commit | 2ce8d27b1f4e7c53e57d345ba471fb1f547d390c (patch) | |
tree | 960fa1ccb1e5982330cd3032c0a3b01fda89b094 /test | |
parent | 0ffebd5abfa53945c83c03ba4442c61cc46a6f31 (diff) |
tests: don't rely on underlying fs in udev-test, use tmpfs instead
Fixes: #457
Diffstat (limited to 'test')
-rwxr-xr-x | test/udev-test.pl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/udev-test.pl b/test/udev-test.pl index b047493f6b..3c8a480d0f 100755 --- a/test/udev-test.pl +++ b/test/udev-test.pl @@ -29,6 +29,7 @@ my $udev_bin_gdb = "gdb --args $udev_bin"; my $udev_bin_strace = "strace -efile $udev_bin"; my $udev_dev = "test/dev"; my $udev_run = "test/run"; +my $udev_tmpfs = "test/tmpfs"; my $udev_rules_dir = "$udev_run/udev/rules.d"; my $udev_rules = "$udev_rules_dir/udev-test.rules"; my $EXIT_TEST_SKIP = 77; @@ -1412,6 +1413,12 @@ sub udev_setup { chown (0, 0, $udev_dev) || die "unable to chown $udev_dev\n"; chmod (0755, $udev_dev) || die "unable to chmod $udev_dev\n"; + system("umount", "$udev_tmpfs"); + system("rm", "-rf", "$udev_tmpfs"); + mkdir($udev_tmpfs) || die "unable to create udev_tmpfs: $udev_tmpfs\n"; + system("mount", "-o", "rw,mode=755,nosuid,noexec,nodev", "-t", "tmpfs", "tmpfs", "$udev_tmpfs") && die "unable to mount tmpfs"; + system("cp", "-r", "test/sys/", "$udev_tmpfs") && die "unable to copy test/sys"; + system("rm", "-rf", "$udev_run"); } @@ -1545,6 +1552,8 @@ print "$error errors occurred\n\n"; # cleanup system("rm", "-rf", "$udev_dev"); system("rm", "-rf", "$udev_run"); +system("umount", "$udev_tmpfs"); +system("rm", "-rf", "$udev_tmpfs"); if ($error > 0) { exit(1); |