From 525b4a6ebe623515c3f16af3eb59689e946df688 Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Wed, 10 Feb 2021 11:18:42 +0100 Subject: [PATCH] Diskmanage: replace check for zpool binary with a function and mock it so the test still works when it's not installed. Signed-off-by: Fabian Ebner --- PVE/Diskmanage.pm | 8 +++++++- test/disklist_test.pm | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/PVE/Diskmanage.pm b/PVE/Diskmanage.pm index e356fb3..64bb813 100644 --- a/PVE/Diskmanage.pm +++ b/PVE/Diskmanage.pm @@ -19,6 +19,12 @@ my $PVS = "/sbin/pvs"; my $LVS = "/sbin/lvs"; my $LSBLK = "/bin/lsblk"; +sub check_bin { + my ($path) = @_; + + return -x $path; +} + sub verify_blockdev_path { my ($rel_path) = @_; @@ -201,7 +207,7 @@ sub get_zfs_devices { my ($lsblk_info) = @_; my $res = {}; - return {} if ! -x $ZPOOL; + return {} if !check_bin($ZPOOL); # use zpool and parttype uuid, # because log and cache do not have diff --git a/test/disklist_test.pm b/test/disklist_test.pm index bfce1ea..7f0e0be 100644 --- a/test/disklist_test.pm +++ b/test/disklist_test.pm @@ -244,6 +244,8 @@ $diskmanage_module->mock('dir_is_empty' => sub { return 1; }); print("\tMocked dir_is_empty\n"); +$diskmanage_module->mock('check_bin' => sub { return 1; }); +print("\tMocked check_bin\n"); my $tools_module= new Test::MockModule('PVE::ProcFSTools', no_auto => 1); $tools_module->mock('parse_proc_mounts' => \&mocked_parse_proc_mounts); print("\tMocked parse_proc_mounts\n"); -- 2.39.2