test: get_subdir
Co-Authored-by: Dominic Jaeger <d.jaeger@proxmox.com> Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
This commit is contained in:
committed by
Fabian Grünbichler
parent
014d36dbbb
commit
ddd313c95e
44
test/get_subdir_test.pm
Normal file
44
test/get_subdir_test.pm
Normal file
@ -0,0 +1,44 @@
|
||||
package PVE::Storage::TestGetSubdir;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use lib qw(..);
|
||||
|
||||
use PVE::Storage::Plugin;
|
||||
use Test::More;
|
||||
|
||||
my $scfg_with_path = { path => '/some/path' };
|
||||
my $vtype_subdirs = PVE::Storage::Plugin::get_vtype_subdirs();
|
||||
|
||||
# each test is comprised of the following array keys:
|
||||
# [0] => storage config; positive with path key
|
||||
# [1] => storage type; see $vtype_subdirs
|
||||
# [2] => expected return from get_subdir
|
||||
my $tests = [
|
||||
# failed matches
|
||||
[ $scfg_with_path, 'none', "unknown vtype 'none'\n" ],
|
||||
[ {}, 'iso', "storage definintion has no path\n" ],
|
||||
];
|
||||
|
||||
# creates additional positive tests
|
||||
foreach my $type (keys %$vtype_subdirs) {
|
||||
my $path = "$scfg_with_path->{path}/$vtype_subdirs->{$type}";
|
||||
push @$tests, [ $scfg_with_path, $type, $path ];
|
||||
}
|
||||
|
||||
plan tests => scalar @$tests;
|
||||
|
||||
foreach my $tt (@$tests) {
|
||||
my ($scfg, $type, $expected) = @$tt;
|
||||
|
||||
my $got;
|
||||
eval { $got = PVE::Storage::Plugin->get_subdir($scfg, $type) };
|
||||
$got = $@ if $@;
|
||||
|
||||
is ($got, $expected, "get_subdir for $type") || diag(explain($got));
|
||||
}
|
||||
|
||||
done_testing();
|
||||
|
||||
1;
|
||||
@ -11,6 +11,7 @@ my $res = $harness->runtests(
|
||||
"parse_volname_test.pm",
|
||||
"list_volumes_test.pm",
|
||||
"path_to_volume_id_test.pm",
|
||||
"get_subdir_test.pm",
|
||||
);
|
||||
|
||||
exit -1 if !$res || $res->{failed} || $res->{parse_errors};
|
||||
|
||||
Reference in New Issue
Block a user