r26079: Some cleanups in the old SWIG wrappers: - remove old torture tests for LDB...
authorJelmer Vernooij <jelmer@samba.org>
Wed, 21 Nov 2007 11:31:43 +0000 (12:31 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:45:56 +0000 (05:45 +0100)
(This used to be commit d6d3b0ad7a789441c82cf30a640033a052921c37)

source4/scripting/bin/rpcclient [moved from source4/scripting/swig/rpcclient with 100% similarity]
source4/scripting/swig/README
source4/scripting/swig/config.mk
source4/scripting/swig/torture/torture_ldb.py [deleted file]

index 561c5ab279515b696451c0998016b370b6a5173f..38b95b28f4960579b73d66668756b9e546dee0ba 100644 (file)
@@ -6,26 +6,9 @@ Instructions for building:
 1. Run configure with the --with-python option to enable python
    extensions. 
 
-2. Edit the script/build_idl.sh script to pass the --swig option to
-   pidl.  Here's a patch:
+2. Run 'make idl_full swig' to build extensions.
 
-Index: script/build_idl.sh
-===================================================================
---- script/build_idl.sh        (revision 2413)
-+++ script/build_idl.sh        (working copy)
-@@ -4,7 +4,7 @@
- [ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1
--PIDL="$PERL ./build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --server"
-+PIDL="$PERL ./build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --server --swig"
- TABLES="$PERL ./build/pidl/tables.pl --output librpc/gen_ndr/tables"
- if [ x$FULLBUILD = xFULL ]; then
-
-3. Run 'make idl_full swig' to build extensions.
-
-4. At some stage there will be a proper system for installing the
+3. At some stage there will be a proper system for installing the
    extensions, but right now it's easier to run them in place.  Set
    your PYTHONPATH to include the modules.  From the Samba source
    directory, run:
@@ -34,4 +17,4 @@ Index: script/build_idl.sh
 
 Now you can go nuts and use the extensions.  Check the
 scripting/swig/torture directory for a testsuite.  There will
-hopefully be a bunch of usage examples somewhere.
\ No newline at end of file
+hopefully be a bunch of usage examples somewhere.
index 944e33b9b4ebf84ec4a3d28a8572495b0d9b6d6a..193e84b2551766e8287a59547568cb8248b0e756 100644 (file)
@@ -1,16 +1,19 @@
 # Swig extensions
-swig: lib/tdb/swig/_tdb.$(SHLIBEXT) lib/ldb/swig/_ldb.$(SHLIBEXT) \
-       libcli/swig/_libcli_nbt.$(SHLIBEXT) libcli/swig/_libcli_smb.$(SHLIBEXT)
+swig: pythonmods
 
+pythonmods: $(PYTHON_DSOS)
+       
 .SUFFIXES: _wrap.c .i
 
 .i_wrap.c:
-       swig -I$(srcdir)/scripting/swig -python $<
+       swig -Wall -I$(srcdir)/scripting/swig -python $<
 
 clean::
        @echo "Removing SWIG output files"
-       @-rm -f scripting/swig/tdb.pyc scripting/swig/tdb.py
+       @-rm -f bin/python/*
+       # FIXME: Remove _wrap.c files
 
-# Swig testing
-swigtest: swig
-       ./selftest/test_swig.sh
+PYDOCTOR_MODULES=bin/python/ldb.py bin/python/auth.py bin/python/credentials.py bin/python/registry.py
+
+pydoctor::
+       LD_LIBRARY_PATH=bin/shared PYTHONPATH=bin/python pydoctor --make-html --docformat=restructedtext --add-package scripting/python/samba/ $(addprefix --add-module , $(PYDOCTOR_MODULES))
diff --git a/source4/scripting/swig/torture/torture_ldb.py b/source4/scripting/swig/torture/torture_ldb.py
deleted file mode 100755 (executable)
index fe79f4f..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/python
-#
-# A torture test for the Python Ldb bindings.  Also a short guide on
-# how the API works.
-#
-
-from Ldb import *
-
-# Helpers
-
-def t(cond, msg):
-    """Test a condition."""
-    if not cond:
-        raise RuntimeError('FAILED: %s' % msg)
-
-#
-# Torture LdbMessage
-#
-
-m = LdbMessage()
-
-# Empty message
-
-t(m.keys() == [], 'empty msg')
-t(m.dn == None, 'empty dn')
-
-t(m.sanity_check() == LDB_ERR_INVALID_DN_SYNTAX, 'sanity check')
-
-# Test invalid dn
-
-try:
-    m.dn = 'invalid dn'
-except LdbError, arg:
-    if arg[0] != LDB_ERR_INVALID_DN_SYNTAX:
-        raise
-else:
-    t(False, 'LdbError not raised')
-
-# Test valid dn
-
-m.dn = 'name=spotty'
-t(m.dn == 'name=spotty', 'specified dn')
-
-t(m.sanity_check() == LDB_SUCCESS, 'sanity check')
-
-# Test some single-valued attributes
-
-m['animal'] = 'dog'
-m['name'] = 'spotty'
-
-t(m.keys() == ['animal', 'name'], 'keys() test failed')
-t(m.values() == [['dog'], ['spotty']], 'values() test failed')
-t(m.items() == [('animal', ['dog']), ('name', ['spotty'])],
-  'items() test failed')
-
-t(m.sanity_check() == LDB_SUCCESS, 'sanity check')
-
-m['animal'] = 'canine'
-t(m['animal'] == ['canine'], 'replace value failed')
-
-# Test a multi-valued attribute
-
-names = ['spotty', 'foot']
-m['name'] = names
-
-t(m['name'] == names, 'multi-valued attr failed')
-
-t(m.sanity_check() == LDB_SUCCESS, 'sanity check')
-
-# Test non-string attributes
-
-try:
-    m['foo'] = 42
-except TypeError:
-    pass
-else:
-    t(False, 'TypeError not raised')
-
-#
-# Torture Ldb
-#
-
-l = Ldb('foo.ldb')