From 15882010491d9f2de6fb43f1c40d753b386c0e2b Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Sat, 15 Dec 2012 21:48:58 +0000 Subject: Fix unit tests --- diff --git a/devbot/config.py b/devbot/config.py index 31e2d1f..9d11b2b 100644 --- a/devbot/config.py +++ b/devbot/config.py @@ -78,14 +78,14 @@ def setup(**kwargs): _load_plugins() global config_dir - config_dir = kwargs["config_dir"] + config_dir = kwargs.get("config_dir", None) global logs_dir logs_dir = kwargs["logs_dir"] _ensure_dir(logs_dir) global _prefs_path - _prefs_path = kwargs["prefs_path"] + _prefs_path = kwargs.get("prefs_path", None) global _source_dir _source_dir = kwargs["source_dir"] @@ -253,9 +253,12 @@ def _load_plugins(): imp.load_module(name, f, filename, desc) def _read_index(dir_name, extra=[]): - index_dir = os.path.join(config_dir, dir_name) files = extra[:] + if config_dir is None: + return files + + index_dir = os.path.join(config_dir, dir_name) with open(os.path.join(index_dir, "index.json")) as f: files.extend(json.load(f)) return [os.path.join(index_dir, json_file) for json_file in files] diff --git a/tests/devbot/common.py b/tests/devbot/common.py new file mode 100644 index 0000000..ace8831 --- /dev/null +++ b/tests/devbot/common.py @@ -0,0 +1,22 @@ +import os +import unittest +import tempfile + +from devbot import config + +class DevbotTestCase(unittest.TestCase): + def setUp(self): + self.setup_config() + + def setup_config(self, extra_args): + temp_dir = tempfile.gettempdir() + + args = {"logs_dir": os.path.join(temp_dir, "logs"), + "source_dir": os.path.join(temp_dir, "source"), + "build_dir": os.path.join(temp_dir, "build"), + "install_dir": os.path.join(temp_dir, "install"), + "state_dir": os.path.join(temp_dir, "state")} + + args.update(extra_args) + + config.setup(**args) diff --git a/tests/devbot/test_config.py b/tests/devbot/test_config.py index fda63c9..4309723 100644 --- a/tests/devbot/test_config.py +++ b/tests/devbot/test_config.py @@ -1,23 +1,23 @@ import os import tempfile -import unittest import subprocess from devbot import git from devbot import config from devbot import distro +import common + tests_dir = os.path.abspath(os.path.dirname(__file__)) base_dir = os.path.dirname(os.path.dirname(tests_dir)) config_dir = os.path.join(base_dir, "config") data_dir = os.path.join(tests_dir, "data") -class TestConfig(unittest.TestCase): - def _set_distro(self, name, version): - if config.config_dir is None: - config.set_config_dir(config_dir) - config.load_plugins() +class TestConfig(common.DevbotTestCase): + def setUp(self): + self.setup_config({"config_dir": config_dir}) + def _set_distro(self, name, version): self._orig = distro._supported_distros for info_class in distro._supported_distros: if info_class.__module__.endswith("fedora"): -- cgit v0.9.1