Add pythoncheck to make check target.
authorTim Potter <tpot@samba.org>
Tue, 13 May 2003 04:38:09 +0000 (04:38 +0000)
committerTim Potter <tpot@samba.org>
Tue, 13 May 2003 04:38:09 +0000 (04:38 +0000)
(This used to be commit 7149dc65c7e22d53110c5e8bbab8ba96963ade76)

source3/Makefile.in
source3/stf/pythoncheck.py [new file with mode: 0755]

index 7f9c2a8b930b678f594f7406cfb0f56cf4262de9..2e5bf71923ffd2f6d3f1ed9388bfd932b89fa992 100644 (file)
@@ -1375,7 +1375,10 @@ Makefile: $(srcdir)/Makefile.in config.status
 check: check-programs
        LD_LIBRARY_PATH="`pwd`/bin:$$LD_LIBRARY_PATH" \
        PATH="`pwd`/bin:$$PATH" \
-       python stf/standardcheck.py
+       python stf/standardcheck.py; \
+       if test -n "$(PYTHON)"; then \
+               python stf/pythoncheck.py; \
+       fi
 
 # These are called by the test suite and need to be built before
 # running it.  For the time being we don't build all of BIN_PROGS,
diff --git a/source3/stf/pythoncheck.py b/source3/stf/pythoncheck.py
new file mode 100755 (executable)
index 0000000..398bb2c
--- /dev/null
@@ -0,0 +1,48 @@
+#! /usr/bin/python
+
+# Comfychair test cases for Samba python extensions
+
+# Copyright (C) 2003 by Tim Potter <tpot@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; either version 2 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
+# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA
+
+"""These tests are run by Samba's "make check"."""
+
+import sys, comfychair
+
+class ImportTest(comfychair.TestCase):
+    """Check that all modules can be imported without error."""
+    def runtest(self):
+        python_modules = ['spoolss', 'lsa', 'samr', 'winbind', 'winreg',
+                          'srvsvc', 'tdb', 'smb', 'tdbpack']
+        for m in python_modules:
+            try:
+                __import__('samba.%s' % m)
+            except ImportError, msg:
+                self.log(str(msg))
+                self.fail('error importing %s module' % m)
+
+tests = [ImportTest]
+
+if __name__ == '__main__':
+    # Some magic to repend build directory to python path so we see the
+    # objects we have built and not previously installed stuff.
+    from distutils.util import get_platform
+    from os import getcwd
+    sys.path.insert(0, '%s/build/lib.%s-%s' %
+                    (getcwd(), get_platform(), sys.version[0:3]))
+
+    comfychair.main(tests)