summaryrefslogtreecommitdiff
path: root/selftest/tests
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2012-03-04 02:18:27 +0100
committerJelmer Vernooij <jelmer@samba.org>2012-03-04 18:02:06 +0100
commit5f74fa3511f0a545b63db142741320fc38126646 (patch)
treea71ae25466ac74ba76dafd71fd7cfa213ec63084 /selftest/tests
parent164d3f66416932cbf70eba34559b6a854a213ff1 (diff)
downloadsamba-5f74fa3511f0a545b63db142741320fc38126646.tar.gz
samba-5f74fa3511f0a545b63db142741320fc38126646.tar.bz2
samba-5f74fa3511f0a545b63db142741320fc38126646.zip
selftest: Add base classes for Target/Environment and their management.
Diffstat (limited to 'selftest/tests')
-rw-r--r--selftest/tests/__init__.py2
-rw-r--r--selftest/tests/test_target.py60
2 files changed, 61 insertions, 1 deletions
diff --git a/selftest/tests/__init__.py b/selftest/tests/__init__.py
index 1e6b192d26..6eb4bb9bc6 100644
--- a/selftest/tests/__init__.py
+++ b/selftest/tests/__init__.py
@@ -23,7 +23,7 @@ import unittest
def test_suite():
result = unittest.TestSuite()
- names = ['socket_wrapper']
+ names = ['socket_wrapper', 'target']
module_names = ['selftest.tests.test_' + name for name in names]
loader = unittest.TestLoader()
result.addTests(loader.loadTestsFromNames(module_names))
diff --git a/selftest/tests/test_target.py b/selftest/tests/test_target.py
new file mode 100644
index 0000000000..9b3d37b270
--- /dev/null
+++ b/selftest/tests/test_target.py
@@ -0,0 +1,60 @@
+# test_target.py -- The tests for selftest target code
+# Copyright (C) 2012 Jelmer Vernooij <jelmer@samba.org>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; version 3
+# of the License or (at your option) any later version of
+# the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+"""Tests for selftest.target."""
+
+from selftest.target import (
+ EnvironmentManager,
+ NoneEnvironment,
+ Environment,
+ Target,
+ )
+
+import os
+import unittest
+
+
+class DummyEnvironment(Environment):
+
+ def __init__(self, name, prefix):
+ self.name = name
+ self.prefix = prefix
+ self.check_ret = True
+ self.log_ret = ""
+
+ def check(self):
+ return self.check_ret
+
+ def get_log(self):
+ return self.log_ret
+
+
+class DummyTarget(Target):
+
+ def get_target(self, name, prefix):
+ return DummyTarget(name, prefix)
+
+
+class EnvironmentManagerTests(unittest.TestCase):
+
+ def setUp(self):
+ self.mgr = EnvironmentManager(DummyTarget())
+
+ def test_none(self):
+ self.assertIs(NoneEnvironment, type(self.mgr.setup_env("none", "prefix")))