Mercurial > bitten > bitten-test
changeset 517:6e38de6858c0
Make sure all tests get done in temporary directory, and `logs_dir` gets created there.
Also tests that reference `logs_dir` should make it relative to the `env.path`
See #329
author | dfraser |
---|---|
date | Fri, 13 Mar 2009 12:03:00 +0000 |
parents | 2f3b7c17d3c3 |
children | 18485105d1c3 |
files | bitten/tests/master.py bitten/tests/model.py |
diffstat | 2 files changed, 52 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/bitten/tests/master.py +++ b/bitten/tests/master.py @@ -8,6 +8,7 @@ # you should have received as part of this distribution. The terms # are also available at http://bitten.edgewall.org/wiki/License. +import os import re import shutil from StringIO import StringIO @@ -31,6 +32,11 @@ def setUp(self): self.env = EnvironmentStub(enable=['trac.*', 'bitten.*']) self.env.path = tempfile.mkdtemp() + logs_dir = self.env.config.get("bitten", "logs_dir") + 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) + os.makedirs(logs_dir) PermissionSystem(self.env).grant_permission('hal', 'BUILD_EXEC')
--- a/bitten/tests/model.py +++ b/bitten/tests/model.py @@ -15,13 +15,19 @@ from bitten.model import BuildConfig, TargetPlatform, Build, BuildStep, \ BuildLog, Report, schema import os +import tempfile class BuildConfigTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub() - self.env.path = '' + self.env.path = tempfile.mkdtemp() + logs_dir = self.env.config.get("bitten", "logs_dir") + 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) + os.makedirs(logs_dir) db = self.env.get_db_cnx() cursor = db.cursor() @@ -159,7 +165,12 @@ def setUp(self): self.env = EnvironmentStub() - self.env.path = '' + self.env.path = tempfile.mkdtemp() + logs_dir = self.env.config.get("bitten", "logs_dir") + 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) + os.makedirs(logs_dir) db = self.env.get_db_cnx() cursor = db.cursor() @@ -216,7 +227,12 @@ def setUp(self): self.env = EnvironmentStub() - self.env.path = '' + self.env.path = tempfile.mkdtemp() + logs_dir = self.env.config.get("bitten", "logs_dir") + 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) + os.makedirs(logs_dir) db = self.env.get_db_cnx() cursor = db.cursor() @@ -325,7 +341,12 @@ def setUp(self): self.env = EnvironmentStub() - self.env.path = '' + self.env.path = tempfile.mkdtemp() + logs_dir = self.env.config.get("bitten", "logs_dir") + 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) + os.makedirs(logs_dir) db = self.env.get_db_cnx() cursor = db.cursor() @@ -427,7 +448,12 @@ def setUp(self): self.env = EnvironmentStub() - self.env.path = '' + self.env.path = tempfile.mkdtemp() + logs_dir = self.env.config.get("bitten", "logs_dir") + 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) + os.makedirs(logs_dir) db = self.env.get_db_cnx() cursor = db.cursor() @@ -502,6 +528,9 @@ "VALUES (%s,%s,%s,%s)", (1, 'test', 'distutils', '1.log')) id = db.get_last_id(cursor, 'bitten_log') logs_dir = self.env.config.get("bitten", "logsdir", "log/bitten") + 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) full_file = os.path.join(logs_dir, "1.log") open(full_file, "w").writelines(["running tests\n", "tests failed\n"]) @@ -528,6 +557,9 @@ "VALUES (%s,%s,%s,%s)", (1, 'test', 'distutils', '1.log')) id = db.get_last_id(cursor, 'bitten_log') logs_dir = self.env.config.get("bitten", "logsdir", "log/bitten") + 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) full_file = os.path.join(logs_dir, "1.log") open(full_file, "w").writelines(["running tests\n", "tests failed\n"]) @@ -549,6 +581,9 @@ "VALUES (%s,%s,%s,%s)", (1, 'test', 'distutils', '1.log')) id = db.get_last_id(cursor, 'bitten_log') logs_dir = self.env.config.get("bitten", "logsdir", "log/bitten") + 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) full_file = os.path.join(logs_dir, "1.log") open(full_file, "w").writelines(["running tests\n", "tests failed\n"]) @@ -570,7 +605,12 @@ def setUp(self): self.env = EnvironmentStub() - self.env.path = '' + self.env.path = tempfile.mkdtemp() + logs_dir = self.env.config.get("bitten", "logs_dir") + 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) + os.makedirs(logs_dir) db = self.env.get_db_cnx() cursor = db.cursor()