Henrybk

Test new timeout

May 21st, 2020
2,520
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 6.21 KB | None | 0 0
  1. test_all_timeouts();
  2.  
  3. sub run_timeout_test {
  4.     my ($name, $test_number, $expected, $result) = @_;
  5.    
  6.     print("[Test] Running Test number ".$test_number." - Type '".$name."'\n");
  7.     if (($expected && $result) || (!$expected && !$result)) {
  8.         Log::message("[Test] Test ".$test_number." OK - Result: ".$result."\n");
  9.     } else {
  10.         Log::error("[Test] Error in test ".$test_number." - Result: ".$result." - Expected: ".$expected."\n");
  11.     }
  12. }
  13.  
  14. sub test_all_timeouts {
  15.     use Time::HiRes;
  16.     my $start_time = time;
  17.     my %hash;
  18.     my @time = (1,2,3);
  19.     my $name;
  20.     my $test_number;
  21.     my $expected;
  22.     my $result;
  23.     print("[Test] Testing timeouts.\n");
  24.    
  25.     $test_number = 1;
  26.     $expected = 1;
  27.     $name = "Double arg - OK";
  28.     $result = timeOut($start_time, 0);
  29.     run_timeout_test($name, $test_number, $expected, $result);
  30.    
  31.     $test_number = 2;
  32.     $expected = 0;
  33.     $name = "Double arg - OK";
  34.     $result = timeOut($start_time, 1);
  35.     run_timeout_test($name, $test_number, $expected, $result);
  36.    
  37.     undef %hash;
  38.     $hash{time} = $start_time;
  39.     $hash{timeout} = 1;
  40.    
  41.     $test_number = 3;
  42.     $expected = 0;
  43.     $name = "Single arg - OK";
  44.     $result = timeOut(\%hash);
  45.     run_timeout_test($name, $test_number, $expected, $result);
  46.    
  47.     undef %hash;
  48.     $hash{time} = $start_time;
  49.     $hash{timeout} = 0;
  50.    
  51.     $test_number = 4;
  52.     $expected = 1;
  53.     $name = "Single arg";
  54.     $result = timeOut(\%hash);
  55.     run_timeout_test($name, $test_number, $expected, $result);
  56.    
  57.     undef %hash;
  58.     $hash{time} = $start_time;
  59.     $hash{timeout} = 0;
  60.    
  61.     $test_number = 5;
  62.     $expected = 0;
  63.     $name = "double arg  - time is ref - OK";
  64.     $result = timeOut(\@time, 0);
  65.     run_timeout_test($name, $test_number, $expected, $result);
  66.    
  67.     $test_number = 6;
  68.     $expected = 0;
  69.     $name = "double arg  - timeout is ref";
  70.     $result = timeOut($start_time, \@time);
  71.     run_timeout_test($name, $test_number, $expected, $result);
  72.    
  73.     $test_number = 7;
  74.     $expected = 0;
  75.     $name = "double arg  - time is not scalar";
  76.     $result = timeOut('ergerg', 0);
  77.     run_timeout_test($name, $test_number, $expected, $result);
  78.    
  79.     $test_number = 8;
  80.     $expected = 0;
  81.     $name = "double arg  - timeout is not scalar";
  82.     $result = timeOut($start_time, 'ergerg');
  83.     run_timeout_test($name, $test_number, $expected, $result);
  84.    
  85.     $test_number = 9;
  86.     $expected = 0;
  87.     $name = "double arg  - timeout undef";
  88.     $result = timeOut($start_time, undef);
  89.     run_timeout_test($name, $test_number, $expected, $result);
  90.    
  91.     $test_number = 10;
  92.     $expected = 1;
  93.     $name = "double arg  - time undef";
  94.     $result = timeOut(undef, 0);
  95.     run_timeout_test($name, $test_number, $expected, $result);
  96.    
  97.     $test_number = 11;
  98.     $expected = 0;
  99.     $name = "single arg  - time not ref";
  100.     $result = timeOut(1);
  101.     run_timeout_test($name, $test_number, $expected, $result);
  102.    
  103.     $test_number = 12;
  104.     $expected = 0;
  105.     $name = "single arg  - time not hash";
  106.     $result = timeOut(\@time);
  107.     run_timeout_test($name, $test_number, $expected, $result);
  108.    
  109.     undef %hash;
  110.     $hash{time} = $start_time;
  111.    
  112.     $test_number = 13;
  113.     $expected = 0;
  114.     $name = "single arg  - hash does not contain timeout";
  115.     $result = timeOut(\%hash);
  116.     run_timeout_test($name, $test_number, $expected, $result);
  117.    
  118.     undef %hash;
  119.     $hash{timeout} = 0;
  120.    
  121.     $test_number = 14;
  122.     $expected = 1;
  123.     $name = "single arg  - hash does not contain time";
  124.     $result = timeOut(\%hash);
  125.     run_timeout_test($name, $test_number, $expected, $result);
  126.    
  127.     undef %hash;
  128.     $hash{time} = \@time;
  129.     $hash{timeout} = 0;
  130.    
  131.     $test_number = 15;
  132.     $expected = 0;
  133.     $name = "single arg  - hash time key not scalar";
  134.     $result = timeOut(\%hash);
  135.     run_timeout_test($name, $test_number, $expected, $result);
  136.    
  137.     undef %hash;
  138.     $hash{time} = $start_time;
  139.     $hash{timeout} = \@time;
  140.    
  141.     $test_number = 16;
  142.     $expected = 0;
  143.     $name = "single arg  - hash timeout key not scalar";
  144.     $result = timeOut(\%hash);
  145.     run_timeout_test($name, $test_number, $expected, $result);
  146.    
  147.     undef %hash;
  148.     $hash{time} = {};
  149.     $hash{timeout} = 2;
  150.    
  151.     $test_number = 17;
  152.     $expected = 0;
  153.     $name = "single arg  - hash time key is hash ref";
  154.     $result = timeOut(\%hash);
  155.     run_timeout_test($name, $test_number, $expected, $result);
  156.    
  157.     undef %hash;
  158.     $hash{time} = 0;
  159.     $hash{timeout} = 2;
  160.    
  161.     $test_number = 18;
  162.     $expected = 1;
  163.     $name = "single arg  - hash time key 0";
  164.     $result = timeOut(\%hash);
  165.     run_timeout_test($name, $test_number, $expected, $result);
  166.    
  167.     undef %hash;
  168.     $hash{time} = 0;
  169.     $hash{timeout} = '';
  170.    
  171.     $test_number = 19;
  172.     $expected = 0;
  173.     $name = "single arg  - hash timeout key empty string";
  174.     $result = timeOut(\%hash);
  175.     run_timeout_test($name, $test_number, $expected, $result);
  176.    
  177.     undef %hash;
  178.     $hash{time} = '';
  179.     $hash{timeout} = 1;
  180.    
  181.     $test_number = 20;
  182.     $expected = 1;
  183.     $name = "single arg  - hash time key empty string";
  184.     $result = timeOut(\%hash);
  185.     run_timeout_test($name, $test_number, $expected, $result);
  186.    
  187.     undef %hash;
  188.     $hash{time} = '0';
  189.     $hash{timeout} = 1;
  190.    
  191.     $test_number = 21;
  192.     $expected = 1;
  193.     $name = "single arg  - hash time key number string";
  194.     $result = timeOut(\%hash);
  195.     run_timeout_test($name, $test_number, $expected, $result);
  196.    
  197.     undef %hash;
  198.     $hash{time} = 0;
  199.     $hash{timeout} = '1';
  200.    
  201.     $test_number = 22;
  202.     $expected = 1;
  203.     $name = "single arg  - hash timeout key number string";
  204.     $result = timeOut(\%hash);
  205.     run_timeout_test($name, $test_number, $expected, $result);
  206.    
  207.     $test_number = 23;
  208.     $name = "double arg  - time number string";
  209.     $result = timeOut('0', 1);
  210.     run_timeout_test($name, $test_number, $expected, $result);
  211.    
  212.     $test_number = 24;
  213.     $expected = 1;
  214.     $name = "double arg  - timeout number string";
  215.     $result = timeOut(0, '1');
  216.     run_timeout_test($name, $test_number, $expected, $result);
  217.    
  218.     $test_number = 25;
  219.     $expected = 1;
  220.     $name = "double arg  - empty string time";
  221.     $result = timeOut('', 0);
  222.     run_timeout_test($name, $test_number, $expected, $result);
  223.    
  224.     undef %hash;
  225.     $hash{time} = 0;
  226.     $hash{timeout} = undef;
  227.    
  228.     $test_number = 26;
  229.     $expected = 0;
  230.     $name = "double arg  - undef timeout key";
  231.     $result = timeOut(\%hash);
  232.     run_timeout_test($name, $test_number, $expected, $result);
  233.    
  234.     undef %hash;
  235.     $hash{time} = undef;
  236.     $hash{timeout} = 1;
  237.    
  238.     $test_number = 27;
  239.     $expected = 1;
  240.     $name = "double arg  - undef time key";
  241.     $result = timeOut(\%hash);
  242.     run_timeout_test($name, $test_number, $expected, $result);
  243. }
Advertisement
Add Comment
Please, Sign In to add comment