Rev 2852: Add unit test for _rollover_trace_maybe in http://sourcefrog.net/bzr/logfile-rollover

Martin Pool mbp at sourcefrog.net
Mon Sep 24 07:00:50 BST 2007


At http://sourcefrog.net/bzr/logfile-rollover

------------------------------------------------------------
revno: 2852
revision-id: mbp at sourcefrog.net-20070924060049-016r89ialgbf886s
parent: pqm at pqm.ubuntu.com-20070924042807-nfjwj1voh6a8zddf
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: logfile-rollover
timestamp: Mon 2007-09-24 16:00:49 +1000
message:
  Add unit test for _rollover_trace_maybe
modified:
  bzrlib/tests/test_trace.py     testtrace.py-20051110225523-a21117fc7a07eeff
  bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
=== modified file 'bzrlib/tests/test_trace.py'
--- a/bzrlib/tests/test_trace.py	2007-09-21 03:07:10 +0000
+++ b/bzrlib/tests/test_trace.py	2007-09-24 06:00:49 +0000
@@ -30,6 +30,7 @@
 from bzrlib.trace import (
     mutter, mutter_callsite, report_exception,
     set_verbosity_level, get_verbosity_level, is_quiet, is_verbose, be_quiet,
+    _rollover_trace_maybe,
     )
 
 
@@ -174,3 +175,15 @@
         self.assertEqual(-1, get_verbosity_level())
         be_quiet(False)
         self.assertEqual(0, get_verbosity_level())
+
+
+class TestBzrLog(TestCaseInTempDir):
+
+    def test_log_rollover(self):
+        temp_log_name = 'test-log'
+        trace_file = open(temp_log_name, 'at')
+        trace_file.write('test_log_rollover padding\n' * 1000000)
+        trace_file.close()
+        _rollover_trace_maybe(temp_log_name)
+        # should have been rolled over
+        self.assertFalse(os.access(temp_log_name, os.R_OK))

=== modified file 'bzrlib/trace.py'
--- a/bzrlib/trace.py	2007-09-21 06:13:09 +0000
+++ b/bzrlib/trace.py	2007-09-24 06:00:49 +0000
@@ -151,7 +151,7 @@
         if size <= 4 << 20:
             return
         old_fname = trace_fname + '.old'
-        rename(trace_fname, old_fname)
+        osutils.rename(trace_fname, old_fname)
     except OSError:
         return
 




More information about the bazaar-commits mailing list