summaryrefslogtreecommitdiff
path: root/src/test/run_test_vnets_blackbox.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run_test_vnets_blackbox.pl')
-rwxr-xr-xsrc/test/run_test_vnets_blackbox.pl26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/test/run_test_vnets_blackbox.pl b/src/test/run_test_vnets_blackbox.pl
index 2e1c505..468b1ed 100755
--- a/src/test/run_test_vnets_blackbox.pl
+++ b/src/test/run_test_vnets_blackbox.pl
@@ -33,7 +33,10 @@ my $test_state = undef;
sub clear_test_state {
$test_state = {
- locks => {},
+ locks => {
+ file => {},
+ domain => {},
+ },
datacenter_config => {},
subnets_config => {},
controller_config => {},
@@ -57,13 +60,27 @@ clear_test_state();
my $mocked_cfs_lock_file = sub {
my ($filename, $timeout, $code, @param) = @_;
- die "$filename already locked\n" if ($test_state->{locks}->{$filename});
+ die "$filename already locked\n" if $test_state->{locks}->{file}->{$filename};
- $test_state->{locks}->{$filename} = 1;
+ $test_state->{locks}->{file}->{$filename} = 1;
my $res = eval { $code->(@param); };
- delete $test_state->{locks}->{$filename};
+ delete $test_state->{locks}->{file}->{$filename};
+
+ return $res;
+};
+
+my $mocked_cfs_lock_domain = sub {
+ my ($domain, $timeout, $code, @param) = @_;
+
+ die "domain '$domain' already locked\n" if $test_state->{locks}->{domain}->{$domain};
+
+ $test_state->{locks}->{domain}->{$domain} = 1;
+
+ my $res = eval { $code->(@param) };
+
+ delete $test_state->{locks}->{domain}->{$domain};
return $res;
};
@@ -224,6 +241,7 @@ $mocked_rpc_env_obj->mock(
my $mocked_pve_cluster_obj = Test::MockModule->new('PVE::Cluster');
$mocked_pve_cluster_obj->mock(
check_cfs_quorum => sub { return 1; },
+ cfs_lock_domain => $mocked_cfs_lock_domain,
);
# ------- TEST FUNCTIONS --------------