Testsuite: check actual_prof_file only when needed
authorThomas Miedema <thomasmiedema@gmail.com>
Fri, 26 Feb 2016 10:23:28 +0000 (11:23 +0100)
committerThomas Miedema <thomasmiedema@gmail.com>
Mon, 29 Feb 2016 12:51:34 +0000 (13:51 +0100)
Might be a little faster. Avoids testing for #6113 (.prof file not
written when process is killed with any signal but SIGINT) for tests
that don't have a .prof.sample file (which is almost all of them) when
running the profiling ways.
Tests that were failing because of #6113: T8089, overflow1, overflow2 and
overflow3.

testsuite/driver/testlib.py

index 2a9f141..0e2ba49 100644 (file)
@@ -1576,6 +1576,14 @@ def check_hp_ok(name):
         return(False)
 
 def check_prof_ok(name, way):
+    (_, expected_prof_file) = find_expected_file(name, 'prof.sample')
+    expected_prof_path = in_testdir(expected_prof_file)
+
+    # Check actual prof file only if we have an expected prof file to
+    # compare it with.
+    if not os.path.exists(expected_prof_path):
+        return True
+
     actual_prof_file = add_suffix(name, 'prof')
     actual_prof_path = in_testdir(actual_prof_file)
 
@@ -1587,16 +1595,9 @@ def check_prof_ok(name, way):
         print(actual_prof_path + " is empty")
         return(False)
 
-    (_, expected_prof_file) = find_expected_file(name, 'prof.sample')
-    expected_prof_path = in_testdir(expected_prof_file)
-
-    # sample prof file is not required
-    if not os.path.exists(expected_prof_path):
-        return True
-    else:
-        return compare_outputs(way, 'prof', normalise_prof,
-                               expected_prof_file, actual_prof_file,
-                               whitespace_normaliser=normalise_whitespace)
+    return compare_outputs(way, 'prof', normalise_prof,
+                            expected_prof_file, actual_prof_file,
+                            whitespace_normaliser=normalise_whitespace)
 
 # Compare expected output to actual output, and optionally accept the
 # new output. Returns true if output matched or was accepted, false