1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-02-03 13:47:04 +03:00

Merge pull request #10694 from evverx/udev-test-in-container

udev-test: remove a check for whether the test is run in a container
This commit is contained in:
Yu Watanabe 2018-11-12 13:12:09 +09:00 committed by GitHub
commit fd5ef45eab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 9 deletions

View File

@ -61,14 +61,17 @@ int main(int argc, char *argv[]) {
test_setup_logging(LOG_INFO);
if (argc != 3) {
log_error("This program needs two arguments, %d given", argc - 1);
if (!IN_SET(argc, 2, 3)) {
log_error("This program needs one or two arguments, %d given", argc - 1);
return EXIT_FAILURE;
}
if (fake_filesystems() < 0)
return EXIT_FAILURE;
if (argc == 2)
return EXIT_SUCCESS;
log_debug("version %s", PACKAGE_VERSION);
mac_selinux_init();

View File

@ -1537,18 +1537,28 @@ sub udev_setup {
system("umount", $udev_tmpfs);
rmdir($udev_tmpfs);
mkdir($udev_tmpfs) || die "unable to create udev_tmpfs: $udev_tmpfs\n";
system("mount", "-o", "rw,mode=755,nosuid,noexec", "-t", "tmpfs", "tmpfs", $udev_tmpfs) && die "unable to mount tmpfs";
if (system("mount", "-o", "rw,mode=755,nosuid,noexec", "-t", "tmpfs", "tmpfs", $udev_tmpfs)) {
warn "unable to mount tmpfs";
return 0;
}
mkdir($udev_dev) || die "unable to create udev_dev: $udev_dev\n";
# setting group and mode of udev_dev ensures the tests work
# even if the parent directory has setgid bit enabled.
chown (0, 0, $udev_dev) || die "unable to chown $udev_dev\n";
chmod (0755, $udev_dev) || die "unable to chmod $udev_dev\n";
system("mknod", $udev_dev . "/null", "c", "1", "3") && die "unable to create $udev_dev/null";
if (system("mknod", $udev_dev . "/null", "c", "1", "3")) {
warn "unable to create $udev_dev/null";
return 0;
}
system("cp", "-r", "test/sys/", $udev_sys) && die "unable to copy test/sys";
system("rm", "-rf", "$udev_run");
return 1;
}
sub run_test {
@ -1646,14 +1656,15 @@ if ($? >> 8 == 0) {
exit($EXIT_TEST_SKIP);
}
# 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";
if (!udev_setup()) {
warn "Failed to set up the environment, skipping the test";
exit($EXIT_TEST_SKIP);
}
udev_setup();
if (!system($udev_bin, "check")) {
warn "$udev_bin failed to set up the environment, skipping the test";
exit($EXIT_TEST_SKIP);
}
my $test_num = 1;
my @list;