From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 9 May 2018 04:59:50 +0000 (-0700) Subject: closes bpo-33445: fail properly in test_cprofile() (GH-6727) X-Git-Tag: v3.6.6rc1~149 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c925108b991b9c5f0402feb0e7f725ee3ac7da11;p=python closes bpo-33445: fail properly in test_cprofile() (GH-6727) (cherry picked from commit ac9240b9be31d073d1b2e50ce53481ff0fc9ed23) Co-authored-by: jdemeyer --- diff --git a/Lib/test/test_profile.py b/Lib/test/test_profile.py index 1fc3c42669..a998266317 100644 --- a/Lib/test/test_profile.py +++ b/Lib/test/test_profile.py @@ -51,13 +51,18 @@ class ProfileTest(unittest.TestCase): results = self.do_profiling() expected = self.get_expected_output() self.assertEqual(results[0], 1000) + fail = [] for i, method in enumerate(self.methodnames): - if results[i+1] != expected[method]: - print("Stats.%s output for %s doesn't fit expectation!" % - (method, self.profilerclass.__name__)) - print('\n'.join(unified_diff( - results[i+1].split('\n'), - expected[method].split('\n')))) + a = expected[method] + b = results[i+1] + if a != b: + fail.append(f"\nStats.{method} output for " + f"{self.profilerclass.__name__} " + "does not fit expectation:") + fail.extend(unified_diff(a.split('\n'), b.split('\n'), + lineterm="")) + if fail: + self.fail("\n".join(fail)) def test_calling_conventions(self): # Issue #5330: profile and cProfile wouldn't report C functions called