]> git.proxmox.com Git - pve-storage.git/blobdiff - test/disklist_test.pm
diskmanage: add helper for udev workaround
[pve-storage.git] / test / disklist_test.pm
index 527e882afadee340df227d7652d6e91992e7bef5..7f0e0be86e73ae8159c344eb60f1a587ca92acac 100644 (file)
@@ -54,9 +54,14 @@ sub mocked_run_command {
            @$outputlines = split(/\n/, read_test_file('pvs'));
        } elsif ($cmd->[0] =~ m/lvs/i) {
            @$outputlines = split(/\n/, read_test_file('lvs'));
+       } elsif ($cmd->[0] =~ m/lsblk/i) {
+           my $content = read_test_file('lsblk');
+           if ($content eq '') {
+               $content = '{}';
+           }
+           @$outputlines = split(/\n/, $content);
        } else {
-           print "unexpected run_command call: '@$cmd', aborting\n";
-           die;
+           die "unexpected run_command call: '@$cmd', aborting\n";
        }
     } else {
        print "unexpected run_command call: '@$cmd', aborting\n";
@@ -82,6 +87,16 @@ sub mocked_get_sysdir_info {
     return &$originalsub($param);
 }
 
+sub mocked_get_sysdir_size {
+    my ($param) = @_;
+
+    my $originalsub = $diskmanage_module->original('get_sysdir_size');
+
+    $param =~ s|/sys/block|disk_tests/$testcasedir|;
+
+    return &$originalsub($param);
+}
+
 sub mocked_is_iscsi {
     return 0;
 }
@@ -214,6 +229,8 @@ $diskmanage_module->mock('dir_glob_foreach' => \&mocked_dir_glob_foreach);
 print("\tMocked dir_glob_foreach\n");
 $diskmanage_module->mock('get_sysdir_info' => \&mocked_get_sysdir_info);
 print("\tMocked get_sysdir_info\n");
+$diskmanage_module->mock('get_sysdir_size' => \&mocked_get_sysdir_size);
+print("\tMocked get_sysdir_size\n");
 $diskmanage_module->mock('is_iscsi' => \&mocked_is_iscsi);
 print("\tMocked is_iscsi\n");
 $diskmanage_module->mock('assert_blockdev' => sub { return 1; });
@@ -227,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");