]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- add a new option --force-write-profiles to rewrite profiles even if they
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 26 Nov 2014 04:28:54 +0000 (23:28 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 26 Nov 2014 04:28:54 +0000 (23:28 -0500)
are passing

lib/sqlalchemy/testing/plugin/plugin_base.py
lib/sqlalchemy/testing/profiling.py

index 6696427dcfa36f48fcf322fefb7d45d8fad61d61..614a12133e3f4eae652108ef298015f39351ad1f 100644 (file)
@@ -93,7 +93,10 @@ def setup_options(make_option):
                 help="Exclude tests with tag <tag>")
     make_option("--write-profiles", action="store_true",
                 dest="write_profiles", default=False,
-                help="Write/update profiling data.")
+                help="Write/update failing profiling data.")
+    make_option("--force-write-profiles", action="store_true",
+                dest="force_write_profiles", default=False,
+                help="Unconditionally write/update profiling data.")
 
 
 def configure_follower(follower_ident):
index 6fc51ef32e8451f5758dc19314f3017a3126a946..671bbe32dd92e63bc4b5eef68ab5321d86d36c27 100644 (file)
@@ -42,7 +42,11 @@ class ProfileStatsFile(object):
     """
 
     def __init__(self, filename):
-        self.write = (
+        self.force_write = (
+            config.options is not None and
+            config.options.force_write_profiles
+        )
+        self.write = self.force_write or (
             config.options is not None and
             config.options.write_profiles
         )
@@ -239,7 +243,7 @@ def count_functions(variance=0.05):
         deviance = int(callcount * variance)
         failed = abs(callcount - expected_count) > deviance
 
-        if failed:
+        if failed or _profile_stats.force_write:
             if _profile_stats.write:
                 _profile_stats.replace(callcount)
             else: