[test suite] added 'make test' check for FKO perl module
authorMichael Rash <mbr@cipherdyne.org>
Sun, 18 Aug 2013 03:51:23 +0000 (23:51 -0400)
committerMichael Rash <mbr@cipherdyne.org>
Sun, 18 Aug 2013 03:51:31 +0000 (23:51 -0400)
All built-in tests in the FKO module must pass for this new test to pass.  This commit
is in support of #103

test/test-fwknop.pl
test/tests/perl_FKO_module.pl

index 2b8a758..4a2b075 100755 (executable)
@@ -1716,6 +1716,33 @@ sub perl_fko_module_compile_install() {
     return $rv;
 }
 
+sub perl_fko_module_make_test() {
+    my $test_hr = shift;
+
+    my $rv = 1;
+
+    my $curr_pwd = cwd() or die $!;
+
+    chdir '../perl/FKO' or die $!;
+
+    &run_cmd("make test", $cmd_out_tmp, "../../test/$curr_test_file");
+
+    chdir $curr_pwd or die $!;
+
+    if ($test_hr->{'positive_output_matches'}) {
+        unless (&file_find_regex(
+                $test_hr->{'positive_output_matches'},
+                $MATCH_ALL, $APPEND_RESULTS, $curr_test_file)) {
+            &write_test_file(
+                "[-] positive_output_matches not met, setting rv=0\n",
+                $curr_test_file);
+            $rv = 0;
+        }
+    }
+
+    return $rv;
+}
+
 sub perl_fko_module_new_object() {
     my $test_hr = shift;
 
index 5589b2f..3cbe9b3 100644 (file)
@@ -9,6 +9,15 @@
     },
     {
         'category' => 'perl FKO module',
+        'subcategory' => 'make test',
+        'detail'   => 'run built-in tests',
+        'function' => \&perl_fko_module_make_test,
+        'positive_output_matches' => [qr/All\stests\ssuccessful/i],
+        'fatal'    => $NO
+    },
+
+    {
+        'category' => 'perl FKO module',
         'subcategory' => 'FUZZING',
         'detail'   => 'generate invalid SPA pkts',
         'function' => \&perl_fko_module_assume_patches_generate_fuzzing_spa_packets,