]> git.proxmox.com Git - pve-storage.git/blobdiff - test/run_bwlimit_tests.pl
refactor finding next diskname for all plugins
[pve-storage.git] / test / run_bwlimit_tests.pl
index e4f723f4d81e8012428d3dc3012bd04e45a69c97..a835dc91019537b4fa8ec24efe200f7feb80d715 100755 (executable)
@@ -95,12 +95,18 @@ my $rpcenv = PVE::RPCEnvironment->init('pub');
 
 my @tests = (
     [ user => 'root@pam' ],
-    [ ['unknown', ['nolimit'],   undef], undef, 'root / generic default limit' ],
-    [ ['move',    ['nolimit'],   undef], undef, 'root / specific default limit (move)' ],
-    [ ['restore', ['nolimit'],   undef], undef, 'root / specific default limit (restore)' ],
-    [ ['unknown', ['d50m40r30'], undef], undef, 'root / storage default limit' ],
-    [ ['move',    ['d50m40r30'], undef], undef, 'root / specific storage limit (move)' ],
-    [ ['restore', ['d50m40r30'], undef], undef, 'root / specific storage limit (restore)' ],
+    [ ['unknown', ['nolimit'],   undef], 100, 'root / generic default limit, requesting default' ],
+    [ ['move',    ['nolimit'],   undef],  80, 'root / specific default limit, requesting default (move)' ],
+    [ ['restore', ['nolimit'],   undef],  60, 'root / specific default limit, requesting default (restore)' ],
+    [ ['unknown', ['d50m40r30'], undef],  50, 'root / storage default limit' ],
+    [ ['move',    ['d50m40r30'], undef],  40, 'root / specific storage limit (move)' ],
+    [ ['restore', ['d50m40r30'], undef],  30, 'root / specific storage limit (restore)' ],
+    [ ['unknown', ['nolimit'],       0],   0, 'root / generic default limit' ],
+    [ ['move',    ['nolimit'],       0],   0, 'root / specific default limit (move)' ],
+    [ ['restore', ['nolimit'],       0],   0, 'root / specific default limit (restore)' ],
+    [ ['unknown', ['d50m40r30'],     0],   0, 'root / storage default limit' ],
+    [ ['move',    ['d50m40r30'],     0],   0, 'root / specific storage limit (move)' ],
+    [ ['restore', ['d50m40r30'],     0],   0, 'root / specific storage limit (restore)' ],
 
     [ user => 'user1@test' ],
     [ ['unknown', ['nolimit'],      undef], 100, 'generic default limit' ],
@@ -118,23 +124,30 @@ my @tests = (
 
     [ user => 'user2@test' ],
     [ ['unknown', ['nolimit'],       0],     0, 'generic default limit with Sys.Modify, passing unlimited' ],
-    [ ['unknown', ['nolimit'],   undef], undef, 'generic default limit with Sys.Modify' ],
-    [ ['restore', ['nolimit'],   undef], undef, 'specific default limit with Sys.Modify (restore)' ],
-    [ ['move',    ['nolimit'],   undef], undef, 'specific default limit with Sys.Modify (move)' ],
+    [ ['unknown', ['nolimit'],   undef],   100, 'generic default limit with Sys.Modify' ],
+    [ ['move',    ['nolimit'],   undef],    80, 'specific default limit with Sys.Modify (move)' ],
+    [ ['restore', ['nolimit'],   undef],    60, 'specific default limit with Sys.Modify (restore)' ],
+    [ ['restore', ['nolimit'],       0],     0, 'specific default limit with Sys.Modify, passing unlimited (restore)' ],
+    [ ['move',    ['nolimit'],       0],     0, 'specific default limit with Sys.Modify, passing unlimited (move)' ],
     [ ['unknown', ['d50m40r30'], undef],    50, 'storage default limit with Sys.Modify' ],
-    [ ['move',    ['d50m40r30'], undef],    40, 'specific storage limit with Sys.Modify (move)' ],
     [ ['restore', ['d50m40r30'], undef],    30, 'specific storage limit with Sys.Modify (restore)' ],
+    [ ['move',    ['d50m40r30'], undef],    40, 'specific storage limit with Sys.Modify (move)' ],
 
     [ user => 'user3@test' ],
+    [ ['unknown', ['nolimit'],   undef],   100, 'generic default limit with privileges on /' ],
     [ ['unknown', ['nolimit'],      80],    80, 'generic default limit with privileges on /, passing an override value' ],
     [ ['unknown', ['nolimit'],       0],     0, 'generic default limit with privileges on /, passing unlimited' ],
-    [ ['unknown', ['nolimit'],   undef], undef, 'generic default limit with privileges on /' ],
-    [ ['move',    ['nolimit'],   undef], undef, 'specific default limit with privileges on / (move)' ],
-    [ ['restore', ['nolimit'],   undef], undef, 'specific default limit with privileges on / (restore)' ],
-    [ ['unknown', ['d50m20r20'],     0],     0, 'storage default limit with privileges on /, passing unlimited' ],
-    [ ['unknown', ['d50m20r20'], undef], undef, 'storage default limit with privileges on /' ],
-    [ ['move',    ['d50m20r20'], undef], undef, 'specific storage limit with privileges on / (move)' ],
-    [ ['restore', ['d50m20r20'], undef], undef, 'specific storage limit with privileges on / (restore)' ],
+    [ ['move',    ['nolimit'],   undef],    80, 'specific default limit with privileges on / (move)' ],
+    [ ['move',    ['nolimit'],       0],     0, 'specific default limit with privileges on /, passing unlimited (move)' ],
+    [ ['restore', ['nolimit'],   undef],    60, 'specific default limit with privileges on / (restore)' ],
+    [ ['restore', ['nolimit'],       0],     0, 'specific default limit with privileges on /, passing unlimited (restore)' ],
+    [ ['unknown', ['d50m40r30'],     0],     0, 'storage default limit with privileges on /, passing unlimited' ],
+    [ ['unknown', ['d50m40r30'], undef],    50, 'storage default limit with privileges on /' ],
+    [ ['unknown', ['d50m40r30'],     0],     0, 'storage default limit with privileges on, passing unlimited /' ],
+    [ ['move',    ['d50m40r30'], undef],    40, 'specific storage limit with privileges on / (move)' ],
+    [ ['move',    ['d50m40r30'],     0],     0, 'specific storage limit with privileges on, passing unlimited / (move)' ],
+    [ ['restore', ['d50m40r30'], undef],    30, 'specific storage limit with privileges on / (restore)' ],
+    [ ['restore', ['d50m40r30'],     0],     0, 'specific storage limit with privileges on /, passing unlimited (restore)' ],
 
     [ user => 'user4@test' ],
     [ ['unknown', ['nolimit'],                   10],     10, 'generic default limit with privileges on a different storage, passing lower override' ],
@@ -145,13 +158,18 @@ my @tests = (
     [ ['unknown', ['d50m40r30'],              undef],     50, 'storage default limit with privileges on a different storage' ],
     [ ['move',    ['d50m40r30'],              undef],     40, 'specific storage limit with privileges on a different storage (move)' ],
     [ ['restore', ['d50m40r30'],              undef],     30, 'specific storage limit with privileges on a different storage (restore)' ],
-    [ ['unknown', ['d20m40r30'],              undef],  undef, 'storage default limit with privileges on that storage' ],
+    [ ['unknown', ['d20m40r30'],              undef],     20, 'storage default limit with privileges on that storage' ],
     [ ['unknown', ['d20m40r30'],                  0],      0, 'storage default limit with privileges on that storage, passing unlimited' ],
-    [ ['move',    ['d20m40r30'],              undef],  undef, 'specific storage limit with privileges on that storage (move)' ],
-    [ ['restore', ['d20m40r30'],              undef],  undef, 'specific storage limit with privileges on that storage (restore)' ],
-    [ ['unknown', ['d50m40r30', 'd20m40r30'], undef],     50, 'multiple storages default limit with privileges on one of them' ],
-    [ ['move',    ['d50m40r30', 'd20m40r30'], undef],     40, 'multiple storages specific limit with privileges on one of them (move)' ],
-    [ ['restore', ['d50m40r30', 'd20m40r30'], undef],     30, 'multiple storages specific limit with privileges on one of them (restore)' ],
+    [ ['move',    ['d20m40r30'],              undef],     40, 'specific storage limit with privileges on that storage (move)' ],
+    [ ['move',    ['d20m40r30'],                  0],      0, 'specific storage limit with privileges on that storage, passing unlimited (move)' ],
+    [ ['move',    ['d20m40r30'],                 10],     10, 'specific storage limit with privileges on that storage, passing low override (move)' ],
+    [ ['move',    ['d20m40r30'],                300],    300, 'specific storage limit with privileges on that storage, passing high override (move)' ],
+    [ ['restore', ['d20m40r30'],              undef],     30, 'specific storage limit with privileges on that storage (restore)' ],
+    [ ['restore', ['d20m40r30'],                  0],      0, 'specific storage limit with privileges on that storage, passing unlimited (restore)' ],
+    [ ['unknown', ['d50m40r30', 'd20m40r30'],     0],     50, 'multiple storages default limit with privileges on one of them, passing unlimited' ],
+    [ ['move',    ['d50m40r30', 'd20m40r30'],     0],     40, 'multiple storages specific limit with privileges on one of them, passing unlimited (move)' ],
+    [ ['restore', ['d50m40r30', 'd20m40r30'],     0],     30, 'multiple storages specific limit with privileges on one of them, passing unlimited (restore)' ],
+    [ ['unknown', ['d50m40r30', 'd20m40r30'], undef],     20, 'multiple storages default limit with privileges on one of them' ],
     [ ['unknown', ['d10', 'd20m40r30'],       undef],     10, 'multiple storages default limit with privileges on one of them (storage limited)' ],
     [ ['move',    ['d10', 'd20m40r30'],       undef],     10, 'multiple storages specific limit with privileges on one of them (storage limited) (move)' ],
     [ ['restore', ['d10', 'd20m40r30'],       undef],     10, 'multiple storages specific limit with privileges on one of them (storage limited) (restore)' ],
@@ -161,10 +179,13 @@ my @tests = (
     [ ['restore', ['d200', 'd200m400r300'],       0],    200, 'multiple storages specific limit (storage limited) (restore), passing unlimited' ],
     [ ['restore', ['d200', 'd200m400r300'],       1],      1, 'multiple storages specific limit (storage limited) (restore), passing 1' ],
     [ ['restore', ['d10', 'd20m40r30'],         500],     10, 'multiple storages specific limit with privileges on one of them (storage limited) (restore), passing higher override' ],
-    [ ['unknown', ['nolimit', 'd20m40r30'],   undef],    100, 'multiple storages default limit with privileges on one of them (default limited)' ],
-    [ ['move',    ['nolimit', 'd20m40r30'],   undef],     80, 'multiple storages specific limit with privileges on one of them (default limited) (move)' ],
-    [ ['restore', ['nolimit', 'd20m40r30'],   undef],     60, 'multiple storages specific limit with privileges on one of them (default limited) (restore)' ],
-    [ ['restore', ['d20m40r30', 'm50'],         200],     60, 'multiple storages specific limit with privileges on one of them (default limited) (restore)' ],
+    [ ['unknown', ['nolimit', 'd20m40r30'],       0],    100, 'multiple storages default limit with privileges on one of them, passing unlimited (default limited)' ],
+    [ ['move',    ['nolimit', 'd20m40r30'],       0],     80, 'multiple storages specific limit with privileges on one of them, passing unlimited (default limited) (move)' ],
+    [ ['restore', ['nolimit', 'd20m40r30'],       0],     60, 'multiple storages specific limit with privileges on one of them, passing unlimited (default limited) (restore)' ],
+    [ ['unknown', ['nolimit', 'd20m40r30'],   undef],     20, 'multiple storages default limit with privileges on one of them (default limited)' ],
+    [ ['move',    ['nolimit', 'd20m40r30'],   undef],     40, 'multiple storages specific limit with privileges on one of them (default limited) (move)' ],
+    [ ['restore', ['nolimit', 'd20m40r30'],   undef],     30, 'multiple storages specific limit with privileges on one of them (default limited) (restore)' ],
+    [ ['restore', ['d20m40r30', 'm50'],         200],     60, 'multiple storages specific limit with privileges on one of them (global default limited) (restore)' ],
 );
 
 foreach my $t (@tests) {