changeset 861:a08acf72a846 0.6.x

0.6dev: Merged [r938] from trunk.
author hodgestar
date Sun, 17 Oct 2010 23:24:07 +0000
parents 3ee5abad55ea
children 242f2e225c4e
files bitten/tests/upgrades.py bitten/upgrades.py
diffstat 2 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/bitten/tests/upgrades.py
+++ b/bitten/tests/upgrades.py
@@ -14,6 +14,7 @@
 warnings.filterwarnings('ignore', '^Unknown table')
 warnings.filterwarnings('ignore', '^the sets module is deprecated')
 
+from trac.core import TracError
 from trac.test import EnvironmentStub
 from trac.db import Table, Column, Index, DatabaseManager
 from bitten.upgrades import update_sequence, drop_index
@@ -42,8 +43,6 @@
         if os.path.isabs(logs_dir):
             raise ValueError("Should not have absolute logs directory for temporary test")
         logs_dir = os.path.join(self.env.path, logs_dir)
-        if not os.path.isdir(logs_dir):
-            os.makedirs(logs_dir)
         self.logs_dir = logs_dir
 
         db = self.env.get_db_cnx()
@@ -327,6 +326,7 @@
             "4.log.level",
         ]
 
+        os.makedirs(self.logs_dir)
         for filename, data in logfiles.items():
             path = os.path.join(self.logs_dir, filename)
             logfile = open(path, "w")
@@ -371,6 +371,7 @@
             "2.log.levels",
         ]
 
+        os.makedirs(self.logs_dir)
         for filename, data in logfiles.items():
             path = os.path.join(self.logs_dir, filename)
             logfile = open(path, "w")
@@ -398,6 +399,11 @@
         self.assertTrue(logs[1].getMessage().startswith(
             "Deleted stray log levels file 2.log.levels"))
 
+    def test_migrate_logs_to_files_with_logs_dir(self):
+        os.makedirs(self.logs_dir)
+        self.assertRaises(TracError, upgrades.migrate_logs_to_files,
+            self.env, None)
+
 
 def suite():
     suite = unittest.TestSuite()
--- a/bitten/upgrades.py
+++ b/bitten/upgrades.py
@@ -432,8 +432,14 @@
     logs_dir = env.config.get("bitten", "logs_dir", "log/bitten")
     if not os.path.isabs(logs_dir):
         logs_dir = os.path.join(env.path, logs_dir)
-    if not os.path.exists(logs_dir):
-        os.makedirs(logs_dir)
+
+    if os.path.exists(logs_dir):
+        print "Bitten log folder %r already exists" % (logs_dir,)
+        print "Upgrade cannot be performed until the existing folder is moved."
+        print "The upgrade script will now exit with an error:\n"
+        raise TracError("")
+
+    os.makedirs(logs_dir)
 
     cursor = db.cursor()
     message_cursor = db.cursor()
Copyright (C) 2012-2017 Edgewall Software