summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-02-12 12:56:30 +1100
committerAndrew Tridgell <tridge@samba.org>2008-02-12 12:56:30 +1100
commitf7bcc15bf8acc157dde8a9895773a0dd03ca6cfb (patch)
tree0bf64d4b2b2183183062392c3f7fd713134af575 /source4
parentccc27e681cbd6283513b929d58f2ebce35e6658b (diff)
parente84cd8d38bcb6756c5066c7c75f3220a15e5ad1b (diff)
downloadsamba-f7bcc15bf8acc157dde8a9895773a0dd03ca6cfb.tar.gz
samba-f7bcc15bf8acc157dde8a9895773a0dd03ca6cfb.tar.bz2
samba-f7bcc15bf8acc157dde8a9895773a0dd03ca6cfb.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
(This used to be commit 3beaa04ef73ca21925d41745b30b6bbaadb7b939)
Diffstat (limited to 'source4')
-rw-r--r--source4/lib/ldb/Makefile.in3
-rw-r--r--source4/lib/ldb/configure.ac4
-rw-r--r--source4/lib/ldb/ldb.mk21
-rwxr-xr-xsource4/lib/ldb/setup.py15
-rwxr-xr-xsource4/lib/ldb/tests/python/api.py3
-rw-r--r--source4/lib/tdb/Makefile.in6
-rw-r--r--source4/lib/tdb/configure.ac5
-rw-r--r--source4/lib/tdb/python/tests/simple.py5
-rwxr-xr-xsource4/lib/tdb/setup.py11
-rw-r--r--source4/lib/tdb/tdb.mk25
-rw-r--r--source4/samba4-knownfail2
-rwxr-xr-xsource4/selftest/samba4_tests.sh5
-rwxr-xr-xsource4/setup/tests/blackbox_provision.sh39
13 files changed, 97 insertions, 47 deletions
diff --git a/source4/lib/ldb/Makefile.in b/source4/lib/ldb/Makefile.in
index 738ffe1adb..d3e027425b 100644
--- a/source4/lib/ldb/Makefile.in
+++ b/source4/lib/ldb/Makefile.in
@@ -19,6 +19,7 @@ SWIG = swig
EXTRA_OBJ=@EXTRA_OBJ@
TESTS=test-tdb.sh @TESTS@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PYTHON_CONFIG = @PYTHON_CONFIG@
tdbdir = @tdbdir@
ldbdir = $(srcdir)
tallocdir = @tallocdir@
@@ -121,7 +122,7 @@ distclean:: clean
realdistclean:: distclean
rm -f configure.in include/config.h.in
-check:: test
+check:: test @PYTHON_CHECK_TARGET@
check-soloading: sample_module.$(SHLIBEXT)
LDB_MODULES_PATH=$(builddir) $(srcdir)/tests/test-soloading.sh
diff --git a/source4/lib/ldb/configure.ac b/source4/lib/ldb/configure.ac
index 176cef0f3e..4d9444ad10 100644
--- a/source4/lib/ldb/configure.ac
+++ b/source4/lib/ldb/configure.ac
@@ -78,14 +78,18 @@ AC_LIBREPLACE_MDLD_FLAGS
AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
AC_PATH_PROGS([PYTHON_CONFIG], [python2.6-config python2.5-config python2.4-config python-config])
+AC_PATH_PROGS([PYTHON], [python2.6 python2.5 python2.4 python])
PYTHON_BUILD_TARGET="build-python"
PYTHON_INSTALL_TARGET="install-python"
+PYTHON_CHECK_TARGET="check-python"
AC_SUBST(PYTHON_BUILD_TARGET)
AC_SUBST(PYTHON_INSTALL_TARGET)
+AC_SUBST(PYTHON_CHECK_TARGET)
if test -z "$PYTHON_CONFIG"; then
PYTHON_BUILD_TARGET=""
+ PYTHON_CHECK_TARGET=""
PYTHON_INSTALL_TARGET=""
fi
diff --git a/source4/lib/ldb/ldb.mk b/source4/lib/ldb/ldb.mk
index b9aa24b276..ec4c34f6d8 100644
--- a/source4/lib/ldb/ldb.mk
+++ b/source4/lib/ldb/ldb.mk
@@ -65,18 +65,25 @@ examples/ldifreader: examples/ldifreader.o $(LIBS)
$(CC) -o examples/ldifreader examples/ldifreader.o $(LIB_FLAGS)
# Python bindings
-build-python:: lib/libldb.$(SHLIBEXT) ldb_wrap.c
- $(ldbdir)/setup.py build
+build-python:: _ldb.$(SHLIBEXT)
+
+ldb_wrap.o: $(ldbdir)/ldb_wrap.c
+ $(CC) -c $(ldbdir)/ldb_wrap.c $(CFLAGS) `$(PYTHON_CONFIG) --cflags`
+
+_ldb.$(SHLIBEXT): $(LIBS) ldb_wrap.o
+ $(SHLD) $(SHLD_FLAGS) -o _ldb.$(SHLIBEXT) ldb_wrap.o $(LIB_FLAGS)
install-python:: build-python
- $(ldbdir)/setup.py install --prefix=$(DESTDIR)$(prefix)
+ mkdir -p $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0, prefix='$(prefix)')"` \
+ $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, prefix='$(prefix)')"`
+ cp $(ldbdir)/ldb.py $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0, prefix='$(prefix)')"`
+ cp _ldb.$(SHLIBEXT) $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, prefix='$(prefix)')"`
install-swig::
cp ldb.i `$(SWIG) -swiglib`
check-python:: build-python
- # FIXME: This isn't portable
- LD_LIBRARY_PATH=lib PYTHONPATH=.:build/lib.linux-i686-2.4/ trial tests/python/api.py
+ LD_LIBRARY_PATH=lib PYTHONPATH=.:$(ldbdir) $(PYTHON) $(ldbdir)/tests/python/api.py
-clean-python::
- $(ldbdir)/setup.py clean
+clean::
+ rm -f _ldb.$(SHLIBEXT)
diff --git a/source4/lib/ldb/setup.py b/source4/lib/ldb/setup.py
deleted file mode 100755
index b04f3b09f1..0000000000
--- a/source4/lib/ldb/setup.py
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/python
-from distutils.core import setup
-from distutils.extension import Extension
-
-setup(name="ldb",
- version="1.0",
- url="http://ldb.samba.org/",
- author="LDB Developers",
- author_email="ldb@samba.org",
- license="LGPLv3",
- keywords=["ldap","ldb","db","ldif"],
- py_modules=["ldb"],
- ext_modules=[Extension('_ldb', ['ldb_wrap.c'], include_dirs=['include'],
- library_dirs=["lib"], libraries=['ldb'])],
- )
diff --git a/source4/lib/ldb/tests/python/api.py b/source4/lib/ldb/tests/python/api.py
index d5346c30b0..5f3f727b5d 100755
--- a/source4/lib/ldb/tests/python/api.py
+++ b/source4/lib/ldb/tests/python/api.py
@@ -418,3 +418,6 @@ class ModuleTests(unittest.TestCase):
def test_register_module(self):
ldb.register_module(ExampleModule())
+if __name__ == '__main__':
+ import unittest
+ unittest.TestProgram()
diff --git a/source4/lib/tdb/Makefile.in b/source4/lib/tdb/Makefile.in
index 9730dffe60..8c79f6e24c 100644
--- a/source4/lib/tdb/Makefile.in
+++ b/source4/lib/tdb/Makefile.in
@@ -22,8 +22,12 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PICFLAG = @PICFLAG@
SHLIBEXT = @SHLIBEXT@
SWIG = swig
+PYTHON = @PYTHON@
+PYTHON_CONFIG = @PYTHON_CONFIG@
PYTHON_BUILD_TARGET = @PYTHON_BUILD_TARGET@
PYTHON_INSTALL_TARGET = @PYTHON_INSTALL_TARGET@
+PYTHON_CHECK_TARGET = @PYTHON_CHECK_TARGET@
+LIB_PATH_VAR = @LIB_PATH_VAR@
tdbdir = @tdbdir@
TDB_OBJ = @TDB_OBJ@ @LIBREPLACEOBJ@
@@ -39,7 +43,7 @@ $(SOLIB): $(TDB_OBJ)
check: test
-test::
+test:: $(PYTHON_CHECK_TARGET)
installcheck:: test install
clean::
diff --git a/source4/lib/tdb/configure.ac b/source4/lib/tdb/configure.ac
index 5747107f38..9b16a82c33 100644
--- a/source4/lib/tdb/configure.ac
+++ b/source4/lib/tdb/configure.ac
@@ -11,15 +11,20 @@ AC_LD_PICFLAG
AC_LD_SHLIBEXT
AC_LIBREPLACE_SHLD
AC_LIBREPLACE_SHLD_FLAGS
+AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
m4_include(libtdb.m4)
AC_PATH_PROGS([PYTHON_CONFIG], [python2.6-config python2.5-config python2.4-config python-config])
+AC_PATH_PROGS([PYTHON], [python2.6 python2.5 python2.4 python])
PYTHON_BUILD_TARGET="build-python"
PYTHON_INSTALL_TARGET="install-python"
+PYTHON_CHECK_TARGET="check-python"
AC_SUBST(PYTHON_BUILD_TARGET)
AC_SUBST(PYTHON_INSTALL_TARGET)
+AC_SUBST(PYTHON_CHECK_TARGET)
if test -z "$PYTHON_CONFIG"; then
PYTHON_BUILD_TARGET=""
PYTHON_INSTALL_TARGET=""
+ PYTHON_CHECK_TARGET=""
fi
AC_OUTPUT(Makefile tdb.pc)
diff --git a/source4/lib/tdb/python/tests/simple.py b/source4/lib/tdb/python/tests/simple.py
index 1cc51aea07..94407b6398 100644
--- a/source4/lib/tdb/python/tests/simple.py
+++ b/source4/lib/tdb/python/tests/simple.py
@@ -142,3 +142,8 @@ class SimpleTdbTests(TestCase):
self.assertEquals(0, len(self.tdb))
self.tdb["entry"] = "value"
self.assertEquals(1, len(self.tdb))
+
+
+if __name__ == '__main__':
+ import unittest
+ unittest.TestProgram()
diff --git a/source4/lib/tdb/setup.py b/source4/lib/tdb/setup.py
deleted file mode 100755
index 8be0c67e0b..0000000000
--- a/source4/lib/tdb/setup.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/python
-from distutils.core import setup
-from distutils.extension import Extension
-
-setup(name='tdb',
- version='1.0',
- url="http://tdb.samba.org/",
- py_modules=["tdb"],
- ext_modules=[Extension('_tdb', ['tdb_wrap.c'], include_dirs=['include'],
- library_dirs=["."], libraries=['tdb'])],
-)
diff --git a/source4/lib/tdb/tdb.mk b/source4/lib/tdb/tdb.mk
index d6118dd38f..fe77a0492d 100644
--- a/source4/lib/tdb/tdb.mk
+++ b/source4/lib/tdb/tdb.mk
@@ -33,25 +33,32 @@ clean::
rm -f $(SONAME) $(SOLIB) libtdb.a libtdb.$(SHLIBEXT)
rm -f $(ALL_PROGS) tdb.pc
-build-python:: libtdb.$(SHLIBEXT) tdb_wrap.c
- $(tdbdir)/setup.py build
+build-python:: _tdb.$(SHLIBEXT)
+
+tdb_wrap.o: $(tdbdir)/tdb_wrap.c
+ $(CC) -c $(tdbdir)/tdb_wrap.c $(CFLAGS) `$(PYTHON_CONFIG) --cflags`
+
+_tdb.$(SHLIBEXT): libtdb.$(SHLIBEXT) tdb_wrap.o
+ $(SHLD) $(SHLD_FLAGS) -o $@ tdb_wrap.o -L. -ltdb `$(PYTHON_CONFIG) --libs`
install:: installdirs installbin installheaders installlibs \
$(PYTHON_INSTALL_TARGET)
-installpython:: build-python
- ./setup.py install --prefix=$(DESTDIR)$(prefix)
+install-python:: build-python
+ mkdir -p $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0, prefix='$(prefix)')"` \
+ $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, prefix='$(prefix)')"`
+ cp $(tdbdir)/tdb.py $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0, prefix='$(prefix)')"`
+ cp _tdb.$(SHLIBEXT) $(DESTDIR)`$(PYTHON) -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, prefix='$(prefix)')"`
check-python:: build-python
- # FIXME: Should be more portable:
- LD_LIBRARY_PATH=. PYTHONPATH=.:build/lib.linux-i686-2.4 trial python/tests/simple.py
+ $(LIB_PATH_VAR)=. PYTHONPATH=".:$(tdbdir)" $(PYTHON) $(tdbdir)/python/tests/simple.py
install-swig::
mkdir -p $(DESTDIR)`$(SWIG) -swiglib`
cp tdb.i $(DESTDIR)`$(SWIG) -swiglib`
-clean-python::
- ./setup.py clean
+clean::
+ rm -f _tdb.$(SHLIBEXT)
installdirs::
mkdir -p $(DESTDIR)$(bindir)
@@ -77,5 +84,3 @@ libtdb.$(SHLIBEXT): $(SOLIB)
$(SONAME): $(SOLIB)
ln -fs $< $@
-
-
diff --git a/source4/samba4-knownfail b/source4/samba4-knownfail
index cf5f97ca74..ab03145354 100644
--- a/source4/samba4-knownfail
+++ b/source4/samba4-knownfail
@@ -35,4 +35,4 @@ BASE-CHARSET.*.Testing partial surrogate
.*NET-API-DELSHARE.* # DelShare isn't implemented yet
RAP.*netservergetinfo
kinit with pkinit # fails with: salt type 3 not supported
-
+samba4.blackbox.provision.py.reprovision # Fails with entry already exists
diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh
index fba9e8603e..c90373e446 100755
--- a/source4/selftest/samba4_tests.sh
+++ b/source4/selftest/samba4_tests.sh
@@ -262,6 +262,8 @@ done
DATADIR=$samba4srcdir/../testdata
+plantest "js.samba3sam" none $SCRIPTDIR/samba3sam.js $CONFIGURATION `pwd` $DATADIR/samba3/
+
# Domain Member Tests
plantest "RPC-ECHO against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" RPC-ECHO "$*"
@@ -327,5 +329,6 @@ then
rm -rf $PREFIX/upgrade
plantest "blackbox.upgrade" none $PYTHON setup/upgrade.py $CONFIGURATION --targetdir=$PREFIX/upgrade ../testdata/samba3 ../testdata/samba3/smb.conf
rm -rf $PREFIX/provision
- plantest "blackbox.provision.py" none $PYTHON ./setup/provision.py $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/provision
+ mkdir $PREFIX/provision
+ plantest "blackbox.provision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX/provision" "$CONFIGURATION"
fi
diff --git a/source4/setup/tests/blackbox_provision.sh b/source4/setup/tests/blackbox_provision.sh
new file mode 100755
index 0000000000..57b11eae5f
--- /dev/null
+++ b/source4/setup/tests/blackbox_provision.sh
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+if [ $# -lt 2 ]; then
+cat <<EOF
+Usage: blackbox_provision.sh PREFIX CONFIGURATION
+EOF
+exit 1;
+fi
+
+PREFIX="$1"
+CONFIGURATION="$2"
+shift 2
+
+testit() {
+ name="$1"
+ shift
+ cmdline="$*"
+ echo "test: $name"
+ $cmdline
+ status=$?
+ if [ x$status = x0 ]; then
+ echo "success: $name"
+ else
+ echo "failure: $name"
+ failed=`expr $failed + 1`
+ fi
+ return $status
+}
+
+testit "simple" $PYTHON ./setup/provision.py $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple
+
+reprovision() {
+ $PYTHON ./setup/provision.py $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
+ $PYTHON ./setup/provision.py $CONFIGURATION --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
+}
+
+testit "reprovision" reprovision
+
+exit $failed