1. Mike Bayer
  2. sqlalchemy

Commits

Mike Bayer  committed 87b9f48

- rework the profile thing to just rewrite all failing numbers when --write-profiles is set
- some sqlite callcounts

  • Participants
  • Parent commits 5672f78
  • Branches master

Comments (0)

Files changed (2)

File lib/sqlalchemy/testing/profiling.py

View file
  • Ignore whitespace
         per_platform['current_count'] += 1
         return result
 
+    def replace(self, callcount):
+        test_key = _current_test
+        per_fn = self.data[test_key]
+        per_platform = per_fn[self.platform_key]
+        counts = per_platform['counts']
+        counts[-1] = callcount
+        if self.write:
+            self._write()
+
     def _header(self):
         return \
         "# %s\n"\
 
             if expected_count:
                 deviance = int(callcount * variance)
-                if abs(callcount - expected_count) > deviance:
+                failed = abs(callcount - expected_count) > deviance
+
+            if failed:
+                if _profile_stats.write:
+                    _profile_stats.replace(callcount)
+                else:
                     raise AssertionError(
                         "Adjusted function call count %s not within %s%% "
-                        "of expected %s. (Delete line %d of file %s to "
-                        "regenerate this callcount, when tests are run "
-                        "with --write-profiles.)"
+                        "of expected %s. Rerun with --write-profiles to "
+                        "regenerate this callcount."
                         % (
                         callcount, (variance * 100),
-                        expected_count, line_no,
-                        _profile_stats.fname))
+                        expected_count))
             return fn_result
         return update_wrapper(wrap, fn)
     return decorate

File test/profiles.txt

View file
  • Ignore whitespace
 test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_oracle_cx_oracle_nocextensions 35582
 test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_postgresql_psycopg2_cextensions 20471
 test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_postgresql_psycopg2_nocextensions 35491
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_cextensions 427
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_cextensions 455
 test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_nocextensions 15447
 test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.2_postgresql_psycopg2_nocextensions 14459
 test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.2_sqlite_pysqlite_nocextensions 14430
 test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_oracle_cx_oracle_nocextensions 35572
 test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_postgresql_psycopg2_cextensions 20471
 test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_postgresql_psycopg2_nocextensions 35491
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_cextensions 427
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_cextensions 455
 test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_nocextensions 15447
 test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.2_postgresql_psycopg2_nocextensions 14459
 test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.2_sqlite_pysqlite_nocextensions 14430