waf: Add initial unit test for samba_utils.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 12 Feb 2012 16:35:20 +0000 (17:35 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Sun, 12 Feb 2012 17:44:09 +0000 (18:44 +0100)
buildtools/wafsamba/__init__.py [new file with mode: 0644]
buildtools/wafsamba/tests/__init__.py [new file with mode: 0644]
buildtools/wafsamba/tests/test_utils.py [new file with mode: 0644]
source4/selftest/tests.py

diff --git a/buildtools/wafsamba/__init__.py b/buildtools/wafsamba/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/buildtools/wafsamba/tests/__init__.py b/buildtools/wafsamba/tests/__init__.py
new file mode 100644 (file)
index 0000000..7678880
--- /dev/null
@@ -0,0 +1,33 @@
+# 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 Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+# 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 Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+"""Tests for wafsamba."""
+
+from unittest import (
+    TestCase,
+    TestLoader,
+    )
+
+def test_suite():
+    names = [
+        'utils',
+        ]
+    module_names = ['wafsamba.tests.test_' + name for name in names]
+    loader = TestLoader()
+    result = loader.suiteClass()
+    suite = loader.loadTestsFromNames(module_names)
+    result.addTests(suite)
+    return result
diff --git a/buildtools/wafsamba/tests/test_utils.py b/buildtools/wafsamba/tests/test_utils.py
new file mode 100644 (file)
index 0000000..96e4f98
--- /dev/null
@@ -0,0 +1,21 @@
+from wafsamba.tests import TestCase
+
+from wafsamba.samba_utils import TO_LIST
+
+class ToListTests(TestCase):
+
+    def test_none(self):
+        self.assertEquals([], TO_LIST(None))
+
+    def test_already_list(self):
+        self.assertEquals(["foo", "bar", 1], TO_LIST(["foo", "bar", 1]))
+
+    def test_default_delimiter(self):
+        self.assertEquals(["foo", "bar"], TO_LIST("foo bar"))
+        self.assertEquals(["foo", "bar"], TO_LIST("  foo bar  "))
+        self.assertEquals(["foo ", "bar"], TO_LIST("  \"foo \" bar  "))
+
+    def test_delimiter(self):
+        self.assertEquals(["foo", "bar"], TO_LIST("foo,bar", ","))
+        self.assertEquals(["  foo", "bar  "], TO_LIST("  foo,bar  ", ","))
+        self.assertEquals(["  \" foo\"", " bar  "], TO_LIST("  \" foo\", bar  ", ","))
index ccc899b..b1b7871 100755 (executable)
@@ -442,6 +442,7 @@ planpythontestsuite("dc:local", "samba.tests.samba_tool.user")
 
 planpythontestsuite("none", "subunit")
 planpythontestsuite("dc:local", "samba.tests.dcerpc.rpcecho")
+planpythontestsuite("none", "wafsamba.tests.test_utils", extra_path=[os.path.join(samba4srcdir, "..", "buildtools"), os.path.join(samba4srcdir, "..", "buildtools", "wafadmin")])
 planoldpythontestsuite("dc:local", "samba.tests.dcerpc.registry", extra_args=['-U"$USERNAME%$PASSWORD"'])
 planoldpythontestsuite("dc", "samba.tests.dcerpc.dnsserver", extra_args=['-U"$USERNAME%$PASSWORD"'])
 plantestsuite("samba4.ldap.python(dc)", "dc", [python, os.path.join(samba4srcdir, "dsdb/tests/python/ldap.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN'])