|
|
6136c1 |
From 2e50a00f6930f1c65ca804b78f4a853e2ae2d2c0 Mon Sep 17 00:00:00 2001
|
|
|
6136c1 |
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
|
|
6136c1 |
Date: Tue, 17 Nov 2020 17:13:31 +0100
|
|
|
6136c1 |
Subject: [PATCH] test/udev-test: gracefully exit when imports fail
|
|
|
6136c1 |
|
|
|
6136c1 |
In Fedora rawhide various perl modules are now available as separate
|
|
|
6136c1 |
packages that are not pulled in by dependencies. If we don't have some
|
|
|
6136c1 |
package, skip the tests.
|
|
|
6136c1 |
|
|
|
6136c1 |
This ugly code is apparently the way to do conditional imports:
|
|
|
6136c1 |
https://www.cs.ait.ac.th/~on/O/oreilly/perl/cookbook/ch12_03.htm.
|
|
|
6136c1 |
|
|
|
6136c1 |
(cherry picked from commit d40763838278246e2073d15ca927ee700e583afc)
|
|
|
6136c1 |
|
|
|
6136c1 |
Related: #1642728
|
|
|
6136c1 |
---
|
|
|
6136c1 |
test/udev-test.pl | 18 +++++++++++++-----
|
|
|
6136c1 |
1 file changed, 13 insertions(+), 5 deletions(-)
|
|
|
6136c1 |
|
|
|
6136c1 |
diff --git a/test/udev-test.pl b/test/udev-test.pl
|
|
|
6136c1 |
index cf6ca6b80c..5b1e33504e 100755
|
|
|
6136c1 |
--- a/test/udev-test.pl
|
|
|
6136c1 |
+++ b/test/udev-test.pl
|
|
|
6136c1 |
@@ -18,11 +18,19 @@
|
|
|
6136c1 |
|
|
|
6136c1 |
use warnings;
|
|
|
6136c1 |
use strict;
|
|
|
6136c1 |
-use POSIX qw(WIFEXITED WEXITSTATUS);
|
|
|
6136c1 |
-use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR IPC_CREAT);
|
|
|
6136c1 |
-use IPC::Semaphore;
|
|
|
6136c1 |
-use Time::HiRes qw(usleep);
|
|
|
6136c1 |
-use Cwd qw(getcwd abs_path);
|
|
|
6136c1 |
+
|
|
|
6136c1 |
+BEGIN {
|
|
|
6136c1 |
+ my $EXIT_TEST_SKIP = 77;
|
|
|
6136c1 |
+
|
|
|
6136c1 |
+ unless (eval "use POSIX qw(WIFEXITED WEXITSTATUS);
|
|
|
6136c1 |
+ use Cwd qw(getcwd abs_path);
|
|
|
6136c1 |
+ use IPC::Semaphore;
|
|
|
6136c1 |
+ use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR IPC_CREAT);
|
|
|
6136c1 |
+ use Time::HiRes qw(usleep); 1") {
|
|
|
6136c1 |
+ warn "Failed to import dependencies, skipping the test: $@";
|
|
|
6136c1 |
+ exit($EXIT_TEST_SKIP);
|
|
|
6136c1 |
+ }
|
|
|
6136c1 |
+}
|
|
|
6136c1 |
|
|
|
6136c1 |
my $udev_bin = "./test-udev";
|
|
|
6136c1 |
my $valgrind = 0;
|