From 24da29746998de1001d18871dcbe8d37643667d5 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 10 Jan 2008 17:48:52 +0100 Subject: selftest: Use Python provision for Samba 4 by default. (This used to be commit 12cf633f7f28f5cefb0cdd90ee9f2e6b77bb3aa3) --- source4/selftest/env/Samba4.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/env/Samba4.pm b/source4/selftest/env/Samba4.pm index 61edeb3885..aacf3c3802 100644 --- a/source4/selftest/env/Samba4.pm +++ b/source4/selftest/env/Samba4.pm @@ -654,12 +654,12 @@ nogroup:x:65534:nobody my @provision_options = (); push (@provision_options, "NSS_WRAPPER_PASSWD=\"$nsswrap_passwd\""); push (@provision_options, "NSS_WRAPPER_GROUP=\"$nsswrap_group\""); - if (defined($ENV{PROVISION_PYTHON})) { - push (@provision_options, "$self->{bindir}/smbpython"); - push (@provision_options, "$self->{setupdir}/provision.py"); - } else { + if (defined($ENV{PROVISION_EJS})) { push (@provision_options, "$self->{bindir}/smbscript"); push (@provision_options, "$self->{setupdir}/provision"); + } else { + push (@provision_options, "$self->{bindir}/smbpython"); + push (@provision_options, "$self->{setupdir}/provision.py"); } push (@provision_options, split(' ', $configuration)); push (@provision_options, "--host-name=$netbiosname"); -- cgit From 460ac1c585198104cee0e0501cdccc16d20ab740 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 9 Feb 2008 16:05:55 +0100 Subject: Use mkinclude (makes the Makefile a bit shorter), use double-colon for phony makefile targets. (This used to be commit ea7d389bcc284d2e9eeff79bce5c285269099ad3) --- source4/selftest/config.mk | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/config.mk b/source4/selftest/config.mk index 0d5f4d6ab4..7f8f211588 100644 --- a/source4/selftest/config.mk +++ b/source4/selftest/config.mk @@ -7,65 +7,60 @@ SELFTEST = $(LD_LIBPATH_OVERRIDE) $(PERL) $(srcdir)/selftest/selftest.pl --prefi --exclude=$(srcdir)/samba4-skip --testlist="./selftest/samba4_tests.sh|" \ $(TEST_OPTIONS) -test: everything +test:: everything $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --immediate $(TESTS) -testone: everything +testone:: everything $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --one $(TESTS) -test-swrap: everything +test-swrap:: everything $(SELFTEST) --socket-wrapper --immediate $(TESTS) -test-swrap-pcap: everything +test-swrap-pcap:: everything $(SELFTEST) --socket-wrapper-pcap --immediate $(TESTS) -test-swrap-keep-pcap: everything +test-swrap-keep-pcap:: everything $(SELFTEST) --socket-wrapper-keep-pcap --immediate $(TESTS) -test-noswrap: everything +test-noswrap:: everything $(SELFTEST) --immediate $(TESTS) -quicktest: all +quicktest:: all $(SELFTEST) --quick --socket-wrapper --immediate $(TESTS) -quicktestone: all +quicktestone:: all $(SELFTEST) --quick --socket-wrapper --one $(TESTS) -testenv: everything +testenv:: everything $(SELFTEST) --socket-wrapper --testenv -valgrindtest: valgrindtest-all +valgrindtest:: valgrindtest-all -valgrindtest-quick: all +valgrindtest-quick:: all SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \ VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \ $(SELFTEST) --quick --immediate --socket-wrapper $(TESTS) -valgrindtest-all: everything +valgrindtest-all:: everything SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \ VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \ $(SELFTEST) --immediate --socket-wrapper $(TESTS) -valgrindtest-env: everything +valgrindtest-env:: everything SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \ VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \ $(SELFTEST) --socket-wrapper --testenv -gdbtest: gdbtest-all +gdbtest:: gdbtest-all -gdbtest-quick: all +gdbtest-quick:: all SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \ $(SELFTEST) --immediate --quick --socket-wrapper $(TESTS) -gdbtest-all: everything +gdbtest-all:: everything SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \ $(SELFTEST) --immediate --socket-wrapper $(TESTS) -gdbtest-env: everything +gdbtest-env:: everything SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \ $(SELFTEST) --socket-wrapper --testenv - -wintest: all - $(SELFTEST) win - - -- cgit From b5bfabf1526f094942f986f8c8f7019b64db6c2f Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 9 Feb 2008 17:17:21 +0100 Subject: Move nmblookup blackbox test closer to the code it tests. (This used to be commit 3f24136b56d281580410bf69841c6dece5508d17) --- source4/selftest/samba4_tests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index d00b492953..c2ce9dc6f1 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -251,8 +251,8 @@ bbdir=$incdir/../../testprogs/blackbox plantest "blackbox.smbclient" dc $bbdir/test_smbclient.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX" plantest "blackbox.kinit" dc $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" plantest "blackbox.cifsdd" dc $bbdir/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" -plantest "blackbox.nmblookup" dc $bbdir/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" -plantest "blackbox.nmblookup" member $bbdir/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" +plantest "blackbox.nmblookup" dc $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" +plantest "blackbox.nmblookup" member $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" # Tests using the "Simple" NTVFS backend -- cgit From 0a6dc219559cb6385b6d2c5482e7588184e9ccc8 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 11 Feb 2008 13:38:07 +0100 Subject: Remove tests for Samba 3 EJS code. (This used to be commit 7aff2ddd8ca1ff68fc704fdb139d81d6daa51115) --- source4/selftest/samba4_tests.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index c2ce9dc6f1..b1d85219fc 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -43,7 +43,7 @@ plantest() { $incdir/../bin/smbtorture -V samba4srcdir=$incdir/.. -samba4bindir=$samba4srcdir/bin +samba4biir=$samba4srcdir/bin SCRIPTDIR=$samba4srcdir/../testprogs/ejs smb4torture="$samba4bindir/smbtorture $TORTURE_OPTIONS" @@ -262,9 +262,6 @@ done DATADIR=$samba4srcdir/../testdata -plantest "parse samba3" none $samba4bindir/smbscript $DATADIR/samba3/verify $CONFIGURATION $DATADIR/samba3 -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 "$*" -- cgit From 4d31177407c16db4001b899dc5590306c71daf02 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 11 Feb 2008 13:58:04 +0100 Subject: Fix accidently introduced typo. (This used to be commit 6c7aa271b1cb0f5604be54f1aa26e1e3531c8f36) --- source4/selftest/samba4_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index b1d85219fc..fba9e8603e 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -43,7 +43,7 @@ plantest() { $incdir/../bin/smbtorture -V samba4srcdir=$incdir/.. -samba4biir=$samba4srcdir/bin +samba4bindir=$samba4srcdir/bin SCRIPTDIR=$samba4srcdir/../testprogs/ejs smb4torture="$samba4bindir/smbtorture $TORTURE_OPTIONS" -- cgit From 0f4c940919de6203595b8eaeb12eb9c2ea887f8c Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 12 Feb 2008 01:39:31 +0100 Subject: Add blackbox test for provisioning code to make sure it can be run more than once in a row. (This used to be commit 42466d960c86b692ef5e03c045ba24591c5c6f84) --- source4/selftest/samba4_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index fba9e8603e..f2895304cf 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -327,5 +327,5 @@ 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 + plantest "blackbox.provision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX" "$CONFIGURATION" fi -- cgit From f44dbc296ea4f63fe194ca0b56bc552fca16a0d9 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 12 Feb 2008 01:42:58 +0100 Subject: Reintroduce samba3sam EJS test, at least until the Python test is ready. (This used to be commit 13deb25214b2711836e243a87166b63a4a87270b) --- source4/selftest/samba4_tests.sh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index f2895304cf..8296633137 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 "$*" -- cgit From bbc567c8311c6ad14d56c55643a3ebe281577d82 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 12 Feb 2008 01:52:07 +0100 Subject: Mark the reprovision test as known failing for now. (This used to be commit 5d4396ae232525be139a91b36f8c7177e46627ae) --- source4/selftest/samba4_tests.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index 8296633137..c90373e446 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -329,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="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX" "$CONFIGURATION" + mkdir $PREFIX/provision + plantest "blackbox.provision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX/provision" "$CONFIGURATION" fi -- cgit From 08e3f99f14f178e87f3543261be59a7f97f60b4f Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 13 Feb 2008 02:18:45 +0100 Subject: Initial work on a test for samba.tests.samdb (This used to be commit 8b33860954ca03be1ea45fd8d40963dbbd5b162f) --- source4/selftest/samba4_tests.sh | 1 + 1 file changed, 1 insertion(+) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index c90373e446..2595d51177 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -320,6 +320,7 @@ then plantest "provision.python" none $SUBUNITRUN samba.tests.provision plantest "samba3.python" none $SUBUNITRUN samba.tests.samba3 plantest "samr.python" dc $SUBUNITRUN samba.tests.dcerpc.sam + plantest "samdb.python" dc $SUBUNITRUN samba.tests.samdb plantest "events.python" none PYTHONPATH="$PYTHONPATH:lib/events" $SUBUNITRUN tests plantest "samba3sam.python" none PYTHONPATH="$PYTHONPATH:dsdb/samdb/ldb_modules/tests" $SUBUNITRUN samba3sam plantest "rpcecho.python" dc $SUBUNITRUN samba.tests.dcerpc.rpcecho -- cgit From be8a09b13883eb6edd55dedd4dbb45906be20311 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 15 Feb 2008 14:11:11 +1100 Subject: add some info on running tests (This used to be commit b6ba0afc1424a1d202626aabf1cd0f28246319a6) --- source4/selftest/README | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'source4/selftest') diff --git a/source4/selftest/README b/source4/selftest/README index 3250f32ec7..e8e87c8b3f 100644 --- a/source4/selftest/README +++ b/source4/selftest/README @@ -39,3 +39,24 @@ The following environments are currently available: * DOMAIN: Domain name * REALM: Realm name * SERVER: Name of the member server + + +============= +Running tests +============= + +To run all the tests use: + + make test + +To run a quick subset (aiming for about 1 minute of testing) run: + + make quicktest + +To run a specific test, use this syntax + + make test TESTS=testname + +for example + + make test TESTS=samba4.BASE-DELETE -- cgit From 63c099c51a71afad67dce2d2df842b934412117b Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 15 Feb 2008 14:27:06 +1100 Subject: added blackbox testing for locktest (This used to be commit af6484f78d273407dd9b264bc4adb33497eee48b) --- source4/selftest/samba4_tests.sh | 1 + source4/selftest/target/Samba4.pm | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index 2595d51177..8be55f78b0 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -253,6 +253,7 @@ plantest "blackbox.kinit" dc $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PAS plantest "blackbox.cifsdd" dc $bbdir/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" plantest "blackbox.nmblookup" dc $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" plantest "blackbox.nmblookup" member $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" +plantest "blackbox.locktest" dc $bbdir/test_locktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" # Tests using the "Simple" NTVFS backend diff --git a/source4/selftest/target/Samba4.pm b/source4/selftest/target/Samba4.pm index fba0f6a6f8..563aca876e 100644 --- a/source4/selftest/target/Samba4.pm +++ b/source4/selftest/target/Samba4.pm @@ -525,7 +525,7 @@ sub provision($$$$$$) (system("rm -rf $prefix/*") == 0) or die("Unable to clean up"); mkdir($_, 0777) foreach ($privatedir, $etcdir, $piddir, $ncalrpcdir, $lockdir, - $tmpdir); + $tmpdir, "$tmpdir/test1", "$tmpdir/test2"); my $localbasedn = $basedn; @@ -569,6 +569,20 @@ sub provision($$$$$$) posix:sharedelay = 100000 posix:eadb = $lockdir/eadb.tdb +[test1] + path = $tmpdir/test1 + read only = no + ntvfs handler = posix + posix:sharedelay = 100000 + posix:eadb = $lockdir/eadb.tdb + +[test2] + path = $tmpdir/test2 + read only = no + ntvfs handler = posix + posix:sharedelay = 100000 + posix:eadb = $lockdir/eadb.tdb + [cifs] read only = no ntvfs handler = cifs -- cgit From 66e8bc9dac291946986d1eb202fc2ed584330118 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 15 Feb 2008 14:55:31 +1100 Subject: converted locktest to use popt and cmdline utility code (This used to be commit 625ea49a95cbdb507ea5b191f75ffa27e25cdb90) --- source4/selftest/samba4_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index 8be55f78b0..ab7065c6f0 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -253,7 +253,7 @@ plantest "blackbox.kinit" dc $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PAS plantest "blackbox.cifsdd" dc $bbdir/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" plantest "blackbox.nmblookup" dc $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" plantest "blackbox.nmblookup" member $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" -plantest "blackbox.locktest" dc $bbdir/test_locktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" +plantest "blackbox.locktest" dc $bbdir/test_locktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX" # Tests using the "Simple" NTVFS backend -- cgit From c09f70608c97c5df87818f0c6297e85cf8827862 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 15 Feb 2008 15:33:10 +1100 Subject: added a blackbox test for masktest (This used to be commit 05a110123df2372418e2ef2fd8f269b92054069c) --- source4/selftest/samba4_tests.sh | 1 + 1 file changed, 1 insertion(+) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index ab7065c6f0..98eade4e41 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -254,6 +254,7 @@ plantest "blackbox.cifsdd" dc $bbdir/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$P plantest "blackbox.nmblookup" dc $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" plantest "blackbox.nmblookup" member $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" plantest "blackbox.locktest" dc $bbdir/test_locktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX" +plantest "blackbox.masktest" dc $bbdir/test_masktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX" # Tests using the "Simple" NTVFS backend -- cgit From 054bc11876c485173a2b11c4b6500e9120bb6e29 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 15 Feb 2008 16:42:22 +1100 Subject: added blackbox testing of gentest (This used to be commit 716345fd38dfd8c6e610fbd6ba84c4f33e3edbb9) --- source4/selftest/samba4_tests.sh | 1 + 1 file changed, 1 insertion(+) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index 98eade4e41..79c5c3e994 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -255,6 +255,7 @@ plantest "blackbox.nmblookup" dc $samba4srcdir/utils/tests/test_nmblookup.sh "\$ plantest "blackbox.nmblookup" member $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP" plantest "blackbox.locktest" dc $bbdir/test_locktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX" plantest "blackbox.masktest" dc $bbdir/test_masktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX" +plantest "blackbox.gentest" dc $bbdir/test_gentest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX" # Tests using the "Simple" NTVFS backend -- cgit From 57e910668d70a266ddf3a1296625fec17661a882 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 15 Feb 2008 16:06:57 +0100 Subject: Unconditionally run the python tests. (This used to be commit 0ab4428fce9f2b970dfbced3b5dfea7ec688760a) --- source4/selftest/samba4_tests.sh | 56 +++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 30 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index 79c5c3e994..60da70cc8f 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -306,33 +306,29 @@ then plantest "NSS-TEST using winbind" member $VALGRIND $samba4bindir/nsstest $samba4bindir/shared/libnss_winbind.so fi -# if python is available, run the python tests: -if test -f $samba4bindir/smbpython -then - PYTHON=bin/smbpython - SUBUNITRUN="$PYTHON ./scripting/bin/subunitrun" - plantest "ldb.python" none PYTHONPATH="$PYTHONPATH:lib/ldb/tests/python/" $SUBUNITRUN api - plantest "credentials.python" none PYTHONPATH="$PYTHONPATH:auth/credentials/tests" $SUBUNITRUN bindings - plantest "registry.python" none PYTHONPATH="$PYTHONPATH:lib/registry/tests/" $SUBUNITRUN bindings - plantest "tdb.python" none PYTHONPATH="$PYTHONPATH:lib/tdb/python/tests" $SUBUNITRUN simple - plantest "auth.python" none PYTHONPATH="$PYTHONPATH:auth/tests/" $SUBUNITRUN bindings - plantest "security.python" none PYTHONPATH="$PYTHONPATH:libcli/security/tests" $SUBUNITRUN bindings - plantest "param.python" none PYTHONPATH="$PYTHONPATH:param/tests" $SUBUNITRUN bindings - plantest "upgrade.python" none $SUBUNITRUN samba.tests.upgrade - plantest "samba.python" none $SUBUNITRUN samba.tests - plantest "provision.python" none $SUBUNITRUN samba.tests.provision - plantest "samba3.python" none $SUBUNITRUN samba.tests.samba3 - plantest "samr.python" dc $SUBUNITRUN samba.tests.dcerpc.sam - plantest "samdb.python" dc $SUBUNITRUN samba.tests.samdb - plantest "events.python" none PYTHONPATH="$PYTHONPATH:lib/events" $SUBUNITRUN tests - plantest "samba3sam.python" none PYTHONPATH="$PYTHONPATH:dsdb/samdb/ldb_modules/tests" $SUBUNITRUN samba3sam - plantest "rpcecho.python" dc $SUBUNITRUN samba.tests.dcerpc.rpcecho - plantest "winreg.python" dc $SUBUNITRUN samba.tests.dcerpc.registry - plantest "ldap.python" dc $PYTHON $samba4srcdir/lib/ldb/tests/python/ldap.py $CONFIGURATION \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN - plantest "blackbox.samba3dump" none $PYTHON scripting/bin/samba3dump $samba4srcdir/../testdata/samba3 - 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 - mkdir $PREFIX/provision - plantest "blackbox.provision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX/provision" "$CONFIGURATION" -fi +PYTHON=bin/smbpython +SUBUNITRUN="$PYTHON ./scripting/bin/subunitrun" +plantest "ldb.python" none PYTHONPATH="$PYTHONPATH:lib/ldb/tests/python/" $SUBUNITRUN api +plantest "credentials.python" none PYTHONPATH="$PYTHONPATH:auth/credentials/tests" $SUBUNITRUN bindings +plantest "registry.python" none PYTHONPATH="$PYTHONPATH:lib/registry/tests/" $SUBUNITRUN bindings +plantest "tdb.python" none PYTHONPATH="$PYTHONPATH:lib/tdb/python/tests" $SUBUNITRUN simple +plantest "auth.python" none PYTHONPATH="$PYTHONPATH:auth/tests/" $SUBUNITRUN bindings +plantest "security.python" none PYTHONPATH="$PYTHONPATH:libcli/security/tests" $SUBUNITRUN bindings +plantest "param.python" none PYTHONPATH="$PYTHONPATH:param/tests" $SUBUNITRUN bindings +plantest "upgrade.python" none $SUBUNITRUN samba.tests.upgrade +plantest "samba.python" none $SUBUNITRUN samba.tests +plantest "provision.python" none $SUBUNITRUN samba.tests.provision +plantest "samba3.python" none $SUBUNITRUN samba.tests.samba3 +plantest "samr.python" dc $SUBUNITRUN samba.tests.dcerpc.sam +plantest "samdb.python" dc $SUBUNITRUN samba.tests.samdb +plantest "events.python" none PYTHONPATH="$PYTHONPATH:lib/events" $SUBUNITRUN tests +plantest "samba3sam.python" none PYTHONPATH="$PYTHONPATH:dsdb/samdb/ldb_modules/tests" $SUBUNITRUN samba3sam +plantest "rpcecho.python" dc $SUBUNITRUN samba.tests.dcerpc.rpcecho +plantest "winreg.python" dc $SUBUNITRUN samba.tests.dcerpc.registry +plantest "ldap.python" dc $PYTHON $samba4srcdir/lib/ldb/tests/python/ldap.py $CONFIGURATION \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN +plantest "blackbox.samba3dump" none $PYTHON scripting/bin/samba3dump $samba4srcdir/../testdata/samba3 +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 +mkdir $PREFIX/provision +plantest "blackbox.provision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX/provision" "$CONFIGURATION" -- cgit From 984d7d84225f1fc4747dd2837623023e30a8ba36 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 21:13:03 +0100 Subject: Use consistent hierarchical naming for tests used in selftest. This is mainly cosmetical and so it would in the future be possible to print a tree of the tests. People using "make test TESTS=..." may have to specify a slightly different regular expression than they used to. (This used to be commit fe0f2173c006573513f54c45c7bbc9d6855494af) --- source4/selftest/samba4_tests.sh | 76 ++++++++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 31 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index 60da70cc8f..d86c46432e 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -40,6 +40,21 @@ plantest() { echo $cmdline } +normalize_testname() { + name=$1 + shift 1 + echo $name | tr "A-Z-" "a-z." +} + +plansmbtorturetest() { + name=$1 + env=$2 + shift 2 + modname=`normalize_testname $name` + cmdline="$VALGRIND $smb4torture $* $name" + plantest "$modname" "$env" $cmdline +} + $incdir/../bin/smbtorture -V samba4srcdir=$incdir/.. @@ -67,7 +82,7 @@ if grep ENABLE_GNUTLS.1 include/config.h > /dev/null; then fi for t in LDAP-CLDAP LDAP-BASIC LDAP-SCHEMA LDAP-UPTODATEVECTOR do - plantest "$t" dc $smb4torture "-U\$USERNAME%\$PASSWORD" //\$SERVER_IP/_none_ $t + plansmbtorturetest "$t" dc "-U\$USERNAME%\$PASSWORD" //\$SERVER_IP/_none_ done # only do the ldb tests when not in quick mode - they are quite slow, and ldb @@ -75,7 +90,6 @@ done LDBDIR=$samba4srcdir/lib/ldb export LDBDIR plantest "ldb" none TEST_DATA_PREFIX=\$PREFIX $LDBDIR/tests/test-tdb.sh - plantest "js.ldap" dc $SCRIPTDIR/ldap.js $CONFIGURATION -d 10 \$SERVER -U\$USERNAME%\$PASSWORD # Tests for RPC @@ -109,15 +123,15 @@ for bindoptions in seal,padcheck $VALIDATE bigendian; do ncacn_ip_tcp) tests=$ncacn_ip_tcp_tests ;; esac for t in $tests; do - plantest "$t on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*" + plantest "`normalize_testname $t` on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*" done - plantest "RPC-SAMBA3-SHARESEC on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN --option=torture:share=tmp $t "$*" + plantest "rpc.samba3.sharesec on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN --option=torture:share=tmp RPC-SAMBA3-SHARESEC "$*" done done for bindoptions in "" $VALIDATE bigendian; do for t in $auto_rpc_tests; do - plantest "$t with $bindoptions" dc $VALGRIND $smb4torture "\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*" + plantest "`normalize_testname $t` with $bindoptions" dc $VALGRIND $smb4torture "\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*" done done @@ -129,7 +143,7 @@ for bindoptions in connect $VALIDATE ; do ncacn_ip_tcp) tests=$slow_ncacn_ip_tcp_tests ;; esac for t in $tests; do - plantest "$t on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*" + plantest "`normalize_testname $t` on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*" done done done @@ -140,7 +154,7 @@ done net=`$smb4torture --list | grep ^NET-` for t in $net; do - plantest "$t" dc $VALGRIND $smb4torture "\$SERVER[$VALIDATE]" -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" $t "$*" + plansmbtorturetest "$t" dc "\$SERVER[$VALIDATE]" -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "$*" done # Tests for session keys @@ -160,13 +174,13 @@ for ntlmoptions in \ "-k no --option=usespnego=no --option=clientntlmv2auth=yes" \ "-k no --option=gensec:spnego=no --option=clientntlmv2auth=yes" \ "-k no --option=usespnego=no"; do - name="RPC-SECRETS on $transport with $bindoptions with $ntlmoptions" + name="rpc.secrets on $transport with $bindoptions with $ntlmoptions" plantest "$name" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN --option=gensec:target_hostname=\$NETBIOSNAME RPC-SECRETS "$*" done -plantest "RPC-SECRETS on $transport with $bindoptions with Kerberos" dc $smb4torture $transport:"\$SERVER[$bindoptions]" -k yes -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN "--option=gensec:target_hostname=\$NETBIOSNAME" RPC-SECRETS "$*" -plantest "RPC-SECRETS on $transport with $bindoptions with Kerberos - use target principal" dc $smb4torture $transport:"\$SERVER[$bindoptions]" -k yes -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN "--option=clientusespnegoprincipal=yes" "--option=gensec:target_hostname=\$NETBIOSNAME" RPC-SECRETS "$*" - plantest "RPC-SECRETS on $transport with Kerberos - use Samba3 style login" dc $smb4torture $transport:"\$SERVER" -k yes -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "--option=gensec:fake_gssapi_krb5=yes" "--option=gensec:gssapi_krb5=no" "--option=gensec:target_hostname=\$NETBIOSNAME" "RPC-SECRETS-none*" "$*" - plantest "RPC-SECRETS on $transport with Kerberos - use Samba3 style login, use target principal" dc $smb4torture $transport:"\$SERVER" -k yes -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "--option=clientusespnegoprincipal=yes" "--option=gensec:fake_gssapi_krb5=yes" "--option=gensec:gssapi_krb5=no" "--option=gensec:target_hostname=\$NETBIOSNAME" "RPC-SECRETS-none*" "$*" +plantest "rpc.secrets on $transport with $bindoptions with Kerberos" dc $smb4torture $transport:"\$SERVER[$bindoptions]" -k yes -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN "--option=gensec:target_hostname=\$NETBIOSNAME" RPC-SECRETS "$*" +plantest "rpc.secrets on $transport with $bindoptions with Kerberos - use target principal" dc $smb4torture $transport:"\$SERVER[$bindoptions]" -k yes -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN "--option=clientusespnegoprincipal=yes" "--option=gensec:target_hostname=\$NETBIOSNAME" RPC-SECRETS "$*" +plantest "rpc.secrets on $transport with Kerberos - use Samba3 style login" dc $smb4torture $transport:"\$SERVER" -k yes -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "--option=gensec:fake_gssapi_krb5=yes" "--option=gensec:gssapi_krb5=no" "--option=gensec:target_hostname=\$NETBIOSNAME" "RPC-SECRETS-none*" "$*" +plantest "rpc.secrets on $transport with Kerberos - use Samba3 style login, use target principal" dc $smb4torture $transport:"\$SERVER" -k yes -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "--option=clientusespnegoprincipal=yes" "--option=gensec:fake_gssapi_krb5=yes" "--option=gensec:gssapi_krb5=no" "--option=gensec:target_hostname=\$NETBIOSNAME" "RPC-SECRETS-none*" "$*" # Echo tests transports="ncacn_np ncacn_ip_tcp ncalrpc" @@ -175,7 +189,7 @@ for transport in $transports; do for bindoptions in connect spnego spnego,sign spnego,seal $VALIDATE padcheck bigendian bigendian,seal; do for ntlmoptions in \ "--option=socket:testnonblock=True --option=torture:quick=yes"; do - plantest "RPC-ECHO on $transport with $bindoptions and $ntlmoptions" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" RPC-ECHO "$*" + plantest "rpc.echo on $transport with $bindoptions and $ntlmoptions" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" RPC-ECHO "$*" done done done @@ -193,12 +207,12 @@ for transport in $transports; do "--option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=yes --option=torture:quick=yes" \ "--option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \ ; do - plantest "RPC-ECHO on $transport with $bindoptions and $ntlmoptions" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*" + plantest "rpc.echo on $transport with $bindoptions and $ntlmoptions" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*" done done done -plantest "RPC-ECHO on ncacn_np over smb2" dc $smb4torture ncacn_np:"\$SERVER[smb2]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*" +plantest "rpc.echo on ncacn_np over smb2" dc $smb4torture ncacn_np:"\$SERVER[smb2]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*" # Tests against the NTVFS POSIX backend smb2=`$smb4torture --list | grep "^SMB2-" | xargs` @@ -206,28 +220,28 @@ raw=`$smb4torture --list | grep "^RAW-" | xargs` base=`$smb4torture --list | grep "^BASE-" | xargs` for t in $base $raw $smb2; do - plantest "$t" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/tmp -U"\$USERNAME"%"\$PASSWORD" $t + plansmbtorturetest "$t" dc $ADDARGS //\$SERVER/tmp -U"\$USERNAME"%"\$PASSWORD" done rap=`$smb4torture --list | grep "^RAP-" | xargs` for t in $rap; do - plantest "$t" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/IPC\\\$ -U"\$USERNAME"%"\$PASSWORD" $t + plansmbtorturetest "$t" dc $ADDARGS //\$SERVER/IPC\\\$ -U"\$USERNAME"%"\$PASSWORD" done # Tests against the NTVFS CIFS backend for t in $base $raw; do - plantest "ntvfs.cifs.$t" dc $VALGRIND $smb4torture //\$NETBIOSNAME/cifs -U"\$USERNAME"%"\$PASSWORD" $t + plantest "ntvfs.cifs.`normalize_testname $t`" dc $VALGRIND $smb4torture //\$NETBIOSNAME/cifs -U"\$USERNAME"%"\$PASSWORD" $t done # Local tests for t in `$smb4torture --list | grep "^LOCAL-" | xargs`; do - plantest "$t" none $VALGRIND $smb4torture ncalrpc: $t "$*" + plansmbtorturetest "$t" none $VALGRIND $smb4torture ncalrpc: "$*" done if test -f $samba4bindir/tdbtorture then - plantest "tdb stress" none $VALGRIND $samba4bindir/tdbtorture + plantest "tdb.stress" none $VALGRIND $samba4bindir/tdbtorture fi # Pidl tests @@ -260,7 +274,7 @@ plantest "blackbox.gentest" dc $bbdir/test_gentest.sh "\$SERVER" "\$USERNAME" "\ # Tests using the "Simple" NTVFS backend for t in "BASE-RW1"; do - plantest "ntvfs/simple $t" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/simple -U"\$USERNAME"%"\$PASSWORD" $t + plantest "ntvfs.simple.`normalize_testname $t`" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/simple -U"\$USERNAME"%"\$PASSWORD" $t done DATADIR=$samba4srcdir/../testdata @@ -269,17 +283,17 @@ plantest "js.samba3sam" none $SCRIPTDIR/samba3sam.js $CONFIGURATION `pwd` $DATAD # Domain Member Tests -plantest "RPC-ECHO against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" RPC-ECHO "$*" -plantest "RPC-ECHO against member server with domain creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD" RPC-ECHO "$*" -plantest "RPC-SAMR against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR" "$*" -plantest "RPC-SAMR-USERS against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-USERS" "$*" -plantest "RPC-SAMR-PASSWORDS against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-PASSWORDS" "$*" +plantest "rpc.echo against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" RPC-ECHO "$*" +plantest "rpc.echo against member server with domain creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD" RPC-ECHO "$*" +plantest "rpc.samr against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR" "$*" +plantest "rpc.samr.users against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-USERS" "$*" +plantest "rpc.samr.passwords against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-PASSWORDS" "$*" plantest "wbinfo -a against member server with domain creds" member $VALGRIND $samba4bindir/wbinfo -a "\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD" NBT_TESTS=`$smb4torture --list | grep "^NBT-" | xargs` -for f in $NBT_TESTS; do - plantest $f dc $smb4torture //\$SERVER/_none_ $f -U\$USERNAME%\$PASSWORD +for t in $NBT_TESTS; do + plansmbtorturetest "$t" dc //\$SERVER/_none_ $f -U\$USERNAME%\$PASSWORD done WB_OPTS="--option=\"torture:strict mode=yes\"" @@ -293,17 +307,17 @@ WINBIND_STRUCT_TESTS=`$smb4torture --list | grep "^WINBIND-STRUCT" | xargs` WINBIND_NDR_TESTS=`$smb4torture --list | grep "^WINBIND-NDR" | xargs` for env in dc member; do for t in $WINBIND_STRUCT_TESTS; do - plantest $t $env $smb4torture $WB_OPTS //_none_/_none_ $t + plansmbtorturetest $t $env $WB_OPTS //_none_/_none_ done for t in $WINBIND_NDR_TESTS; do - plantest $t $env $smb4torture $WB_OPTS //_none_/_none_ $t + plansmbtorturetest $t $env $WB_OPTS //_none_/_none_ done done if test -f $samba4bindir/nsstest then - plantest "NSS-TEST using winbind" member $VALGRIND $samba4bindir/nsstest $samba4bindir/shared/libnss_winbind.so + plantest "nss.test using winbind" member $VALGRIND $samba4bindir/nsstest $samba4bindir/shared/libnss_winbind.so fi PYTHON=bin/smbpython -- cgit From b136033421eb045b28f5928e4d2f9604cf704690 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 21:52:23 +0100 Subject: When not using --immediate, use a one-line progress indicator in selftest. (This used to be commit 16b4af184187f29f1f710609ee37029a3f15a294) --- source4/selftest/output/plain.pm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/output/plain.pm b/source4/selftest/output/plain.pm index 1e6dead326..e491a999ab 100644 --- a/source4/selftest/output/plain.pm +++ b/source4/selftest/output/plain.pm @@ -46,8 +46,15 @@ sub start_testsuite($$) my $out = ""; $out .= "[$self->{index}/$self->{totalsuites} in ".$duration."s"; $out .= sprintf(", %d errors", ($#{$self->{suitesfailed}}+1)) if ($#{$self->{suitesfailed}} > -1); - $out .= "] $name\n", - print "$out"; + $out .= "] $name"; + if ($self->{immediate}) { + print "$out\n"; + } else { + require Term::ReadKey; + my ($wchar, $hchar, $wpixels, $hpixels) = Term::ReadKey::GetTerminalSize(); + foreach (1..$wchar) { $out.= " "; } + print "\r".substr($out, 0, $wchar); + } } sub output_msg($$) -- cgit From 0f3836238e34f96426ed88cd7dc85a9c0d216188 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 18 Feb 2008 23:27:55 +0100 Subject: Fix local tests. (This used to be commit 60f2eb404628f9903bbb839a9aaead89c7a5736f) --- source4/selftest/samba4_tests.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index d86c46432e..6beff6f279 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -50,8 +50,9 @@ plansmbtorturetest() { name=$1 env=$2 shift 2 + other_args="$*" modname=`normalize_testname $name` - cmdline="$VALGRIND $smb4torture $* $name" + cmdline="$VALGRIND $smb4torture $other_args $name" plantest "$modname" "$env" $cmdline } @@ -236,7 +237,7 @@ done # Local tests for t in `$smb4torture --list | grep "^LOCAL-" | xargs`; do - plansmbtorturetest "$t" none $VALGRIND $smb4torture ncalrpc: "$*" + plansmbtorturetest "$t" none ncalrpc: "$*" done if test -f $samba4bindir/tdbtorture -- cgit From a71c3714323b6dce2fbeea68c2d007c223467f26 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 02:44:31 +0100 Subject: Add framework for Kvm test. (This used to be commit e4efbb2906f4f3876986e21c12b58791c3526bed) --- source4/selftest/selftest.pl | 14 ++++++++--- source4/selftest/target/Kvm.pm | 55 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 source4/selftest/target/Kvm.pm (limited to 'source4/selftest') diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index aab2ca8f07..b6ce643eb3 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -13,7 +13,7 @@ selftest - Samba test runner selftest --help -selftest [--srcdir=DIR] [--builddir=DIR] [--target=samba4|samba3|win] [--socket-wrapper] [--quick] [--exclude=FILE] [--include=FILE] [--one] [--prefix=prefix] [--immediate] [--testlist=FILE] [TESTS] +selftest [--srcdir=DIR] [--builddir=DIR] [--target=samba4|samba3|win|kvm] [--socket-wrapper] [--quick] [--exclude=FILE] [--include=FILE] [--one] [--prefix=prefix] [--immediate] [--testlist=FILE] [TESTS] =head1 DESCRIPTION @@ -43,7 +43,7 @@ Change directory to run tests in. Default is 'st'. Show errors as soon as they happen rather than at the end of the test run. -=item I<--target samba4|samba3|win> +=item I<--target samba4|samba3|win|kvm> Specify test target against which to run. Default is 'samba4'. @@ -280,7 +280,7 @@ Usage: $Script [OPTIONS] PREFIX Generic options: --help this help page - --target=samba4|samba3|win Samba version to target + --target=samba[34]|win|kvm Samba version to target --testlist=FILE file to read available tests from Paths: @@ -301,6 +301,9 @@ Samba4 Specific: Samba3 Specific: --bindir=PATH path to binaries +Kvm Specific: + --image=PATH path to KVM image + Behaviour: --quick run quick overall test --one abort when the first test fails @@ -334,6 +337,7 @@ my $result = GetOptions ( 'resetup-environment' => \$opt_resetup_env, 'bindir:s' => \$opt_bindir, 'format=s' => \$opt_format, + 'image=s' => \$opt_image, 'testlist=s' => \@testlists ); @@ -442,6 +446,10 @@ if ($opt_target eq "samba4") { $testenv_default = "dc"; require target::Windows; $target = new Windows(); +} elsif ($opt_target eq "kvm") { + require target::Kvm; + die("No image specified") unless ($opt_image); + $target = new Kvm($opt_image); } sub read_test_regexes($) diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm new file mode 100644 index 0000000000..533fb302d0 --- /dev/null +++ b/source4/selftest/target/Kvm.pm @@ -0,0 +1,55 @@ +#!/usr/bin/perl +# Start a KVM machine and run a number of tests against it. +# Copyright (C) 2005-2008 Jelmer Vernooij +# Published under the GNU GPL, v3 or later. + +package Kvm; + +use strict; +use Cwd qw(abs_path); +use FindBin qw($RealBin); +use POSIX; + +sub new($$$$) { + my ($classname, $image) = @_; + my $self = { + image => $image + }; + bless $self; + return $self; +} + +sub teardown_env($$) +{ + my ($self, $envvars) = @_; + + return 0; +} + +sub getlog_env($$) +{ + my ($self, $envvars) = @_; + + return ""; +} + +sub check_env($$) +{ + my ($self, $envvars) = @_; + + return 1; +} + +sub setup_env($$$) +{ + my ($self, $envname, $path) = @_; + + die("No implemented yet"); +} + +sub stop($) +{ + my ($self) = @_; +} + +1; -- cgit From 12e08782b3bef67395d9508fed9487d0217174d6 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 03:29:03 +0100 Subject: Add Kvm start code. (This used to be commit 6308c134b225dfa8574aa1370a7874ed6e572ccc) --- source4/selftest/config.mk | 3 +++ source4/selftest/target/Kvm.pm | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'source4/selftest') diff --git a/source4/selftest/config.mk b/source4/selftest/config.mk index 7f8f211588..ff470df527 100644 --- a/source4/selftest/config.mk +++ b/source4/selftest/config.mk @@ -10,6 +10,9 @@ SELFTEST = $(LD_LIBPATH_OVERRIDE) $(PERL) $(srcdir)/selftest/selftest.pl --prefi test:: everything $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --immediate $(TESTS) +kvmtest:: everything + $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --target=kvm --image=$(KVM_IMAGE) + testone:: everything $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --one $(TESTS) diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm index 533fb302d0..efd4fa2f7a 100644 --- a/source4/selftest/target/Kvm.pm +++ b/source4/selftest/target/Kvm.pm @@ -40,16 +40,39 @@ sub check_env($$) return 1; } +sub start($) +{ + my ($self) = @_; + + my $pidfile = "kvm.pid"; + + system("kvm $ENV{KVM_OPTIONS} -daemonize -pidfile $pidfile -net user -vnc unix:kvm.vnc -snapshot $self->{image}"); + + open(PID, $pidfile); + $self->{pid} = ; + close(PID); +} + sub setup_env($$$) { my ($self, $envname, $path) = @_; + if ($envname eq "dc") { + unless (defined($self->{pid})) { + $self->start(); + } + } elsif ($envname eq "member") { + return undef; + } + die("No implemented yet"); } sub stop($) { my ($self) = @_; + + kill $self->{pid}; } 1; -- cgit From 33f63de66bb16c4ca96255a17975268a7d958281 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 04:44:30 +0100 Subject: kvm fixes. (This used to be commit 3a5e2f9ba3131a2a264e21640db8bea255fe9ea3) --- source4/selftest/selftest.pl | 1 + source4/selftest/target/Kvm.pm | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index b6ce643eb3..8647dee9d2 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -144,6 +144,7 @@ my $opt_expected_failures = undef; my @opt_exclude = (); my @opt_include = (); my $opt_verbose = 0; +my $opt_image = undef; my $opt_testenv = 0; my $ldap = undef; my $opt_analyse_cmd = undef; diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm index efd4fa2f7a..74b726d183 100644 --- a/source4/selftest/target/Kvm.pm +++ b/source4/selftest/target/Kvm.pm @@ -46,7 +46,9 @@ sub start($) my $pidfile = "kvm.pid"; - system("kvm $ENV{KVM_OPTIONS} -daemonize -pidfile $pidfile -net user -vnc unix:kvm.vnc -snapshot $self->{image}"); + my $opts = ($ENV{KVM_OPTIONS} or ""); + + system("kvm $opts -daemonize -pidfile $pidfile -vnc unix:kvm.vnc -snapshot $self->{image}"); open(PID, $pidfile); $self->{pid} = ; -- cgit From 87f611ed69b2ba16d2a36ed439a685a36a49937c Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 15:12:57 +0100 Subject: Start and kill kvm instance properly. (This used to be commit 78e49765a2ec5fac485dbf56143716e151b4b562) --- source4/selftest/config.mk | 3 +++ source4/selftest/selftest.pl | 2 +- source4/selftest/target/Kvm.pm | 45 +++++++++++++++++++++++++++++------------- 3 files changed, 35 insertions(+), 15 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/config.mk b/source4/selftest/config.mk index ff470df527..306a11469c 100644 --- a/source4/selftest/config.mk +++ b/source4/selftest/config.mk @@ -13,6 +13,9 @@ test:: everything kvmtest:: everything $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --target=kvm --image=$(KVM_IMAGE) +kvmquicktest:: everything + $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --quick --target=kvm --image=$(KVM_IMAGE) + testone:: everything $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --one $(TESTS) diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index 8647dee9d2..a989d1a851 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -303,7 +303,7 @@ Samba3 Specific: --bindir=PATH path to binaries Kvm Specific: - --image=PATH path to KVM image + --image=PATH path to KVM image Behaviour: --quick run quick overall test diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm index 74b726d183..7fa7e02184 100644 --- a/source4/selftest/target/Kvm.pm +++ b/source4/selftest/target/Kvm.pm @@ -11,9 +11,9 @@ use FindBin qw($RealBin); use POSIX; sub new($$$$) { - my ($classname, $image) = @_; + my ($classname, $dc_image) = @_; my $self = { - image => $image + dc_image => $dc_image, }; bless $self; return $self; @@ -23,6 +23,10 @@ sub teardown_env($$) { my ($self, $envvars) = @_; + print "Killing kvm instance $envvars->{KVM_PID}\n"; + + kill 9, $envvars->{KVM_PID}; + return 0; } @@ -37,22 +41,26 @@ sub check_env($$) { my ($self, $envvars) = @_; + # FIXME: Check whether $self->{pid} is still running + return 1; } -sub start($) +sub start($$$) { - my ($self) = @_; + my ($self, $path, $image) = @_; - my $pidfile = "kvm.pid"; + my $pidfile = "$path/kvm.pid"; my $opts = ($ENV{KVM_OPTIONS} or ""); - system("kvm $opts -daemonize -pidfile $pidfile -vnc unix:kvm.vnc -snapshot $self->{image}"); + system("kvm $opts -daemonize -pidfile $pidfile -vnc unix:$path/kvm.vnc -snapshot $image"); open(PID, $pidfile); - $self->{pid} = ; + =~ /([0-9]+)/; + my ($pid) = $1; close(PID); + return $pid; } sub setup_env($$$) @@ -60,21 +68,30 @@ sub setup_env($$$) my ($self, $envname, $path) = @_; if ($envname eq "dc") { - unless (defined($self->{pid})) { - $self->start(); + $self->{dc_pid} = $self->start($path, $self->{dc_image}); + if ($envname eq "dc") { + return { + KVM_PID => $self->{dc_pid}, + USERNAME => "Administrator", + PASSWORD => "penguin", + DOMAIN => "SAMBA", + REALM => "SAMBA", + SERVER => "", + SERVER_IP => "", + NETBIOSNAME => "", + NETBIOSALIAS => "", + }; + } else { + return undef; } - } elsif ($envname eq "member") { + } else { return undef; } - - die("No implemented yet"); } sub stop($) { my ($self) = @_; - - kill $self->{pid}; } 1; -- cgit From d3e182098a69a20035ee5eb0e9ab453dfdcb9c8b Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 16:28:32 +0100 Subject: Start dhcp server for kvm machine. (This used to be commit a54507dbd6bfaafb42eb95ec8a57897096b19583) --- source4/selftest/selftest.pl | 2 + source4/selftest/target/Kvm.pm | 84 ++++++++++++++++++++++++++++++++++-------- 2 files changed, 70 insertions(+), 16 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index a989d1a851..1672209bef 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -448,6 +448,8 @@ if ($opt_target eq "samba4") { require target::Windows; $target = new Windows(); } elsif ($opt_target eq "kvm") { + die("Kvm tests will not run with socket wrapper enabled.") + if ($opt_socket_wrapper); require target::Kvm; die("No image specified") unless ($opt_image); $target = new Kvm($opt_image); diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm index 7fa7e02184..1037f23c59 100644 --- a/source4/selftest/target/Kvm.pm +++ b/source4/selftest/target/Kvm.pm @@ -19,6 +19,39 @@ sub new($$$$) { return $self; } +sub write_kvm_ifup($$$) +{ + my ($self, $path, $ip_prefix) = @_; + open(SCRIPT, ">$path/kvm-ifup"); + + print SCRIPT <<__EOF__; +#!/bin/sh + +PREFIX=$ip_prefix + +/sbin/ifconfig \$1 \$PREFIX.1 up + +cat <$path/udhcpd.conf +interface \$1 +start \$PREFIX.20 +end \$PREFIX.20 +max_leases 1 +lease_file $path/udhcpd.leases +pidfile $path/udhcpd.pid +EOF + +touch $path/udhcpd.leases + +/usr/sbin/udhcpd $path/udhcpd.conf + +exit 0 +__EOF__ + close(SCRIPT); + chmod(0755, "$path/kvm-ifup"); + + return ("$path/kvm-ifup", "$path/udhcpd.pid", "$ip_prefix.20"); +} + sub teardown_env($$) { my ($self, $envvars) = @_; @@ -27,6 +60,9 @@ sub teardown_env($$) kill 9, $envvars->{KVM_PID}; + print "Killing dhcpd instance $envvars->{DHCPD_PID}\n"; + kill 9, $envvars->{DHCPD_PID}; + return 0; } @@ -46,21 +82,30 @@ sub check_env($$) return 1; } +sub read_pidfile($) +{ + my ($path) = @_; + + open(PID, $path); + =~ /([0-9]+)/; + my ($pid) = $1; + close(PID); + return $pid; +} + sub start($$$) { my ($self, $path, $image) = @_; my $pidfile = "$path/kvm.pid"; - my $opts = ($ENV{KVM_OPTIONS} or ""); + my $opts = ($ENV{KVM_OPTIONS} or "-nographic"); - system("kvm $opts -daemonize -pidfile $pidfile -vnc unix:$path/kvm.vnc -snapshot $image"); + my ($ifup_script, $dhcpd_pidfile, $ip_address) = $self->write_kvm_ifup($path, "192.168.9"); - open(PID, $pidfile); - =~ /([0-9]+)/; - my ($pid) = $1; - close(PID); - return $pid; + system("kvm $opts -daemonize -pidfile $pidfile -snapshot $image -net nic -net tap,script=$ifup_script"); + + return (read_pidfile($pidfile), read_pidfile($dhcpd_pidfile), $ip_address); } sub setup_env($$$) @@ -68,18 +113,25 @@ sub setup_env($$$) my ($self, $envname, $path) = @_; if ($envname eq "dc") { - $self->{dc_pid} = $self->start($path, $self->{dc_image}); + ($self->{dc_pid}, $self->{dc_dhcpd_pid}, $self->{dc_ip}) = $self->start($path, $self->{dc_image}); + + sub choose_var($$) { + my ($name, $default) = @_; + return defined($ENV{"KVM_DC_$name"})?$ENV{"KVM_DC_$name"}:$default; + } + if ($envname eq "dc") { return { KVM_PID => $self->{dc_pid}, - USERNAME => "Administrator", - PASSWORD => "penguin", - DOMAIN => "SAMBA", - REALM => "SAMBA", - SERVER => "", - SERVER_IP => "", - NETBIOSNAME => "", - NETBIOSALIAS => "", + DHCPD_PID => $self->{dc_dhcpd_pid}, + USERNAME => choose_var("USERNAME", "Administrator"), + PASSWORD => choose_var("PASSWORD", "penguin"), + DOMAIN => choose_var("DOMAIN", "SAMBA"), + REALM => choose_var("REALM", "SAMBA"), + SERVER => choose_var("SERVER", "DC"), + SERVER_IP => $self->{dc_ip}, + NETBIOSNAME => choose_var("NETBIOSNAME", "DC"), + NETBIOSALIAS => choose_var("NETBIOSALIAS", "DC"), }; } else { return undef; -- cgit From a31a2f082f26785967d8cb302ca940e76d513ac6 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 16:49:29 +0100 Subject: Allow connecting to screen. (This used to be commit a021408c9d78260b9abf7ebec4230b7958033a38) --- source4/selftest/config.mk | 4 ++-- source4/selftest/target/Kvm.pm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/config.mk b/source4/selftest/config.mk index 306a11469c..4e9d31b684 100644 --- a/source4/selftest/config.mk +++ b/source4/selftest/config.mk @@ -11,10 +11,10 @@ test:: everything $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --immediate $(TESTS) kvmtest:: everything - $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --target=kvm --image=$(KVM_IMAGE) + $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --immediate --target=kvm --image=$(KVM_IMAGE) kvmquicktest:: everything - $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --quick --target=kvm --image=$(KVM_IMAGE) + $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --immediate --quick --target=kvm --image=$(KVM_IMAGE) testone:: everything $(SELFTEST) $(DEFAULT_TEST_OPTIONS) --one $(TESTS) diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm index 1037f23c59..7799cb7ec0 100644 --- a/source4/selftest/target/Kvm.pm +++ b/source4/selftest/target/Kvm.pm @@ -99,7 +99,7 @@ sub start($$$) my $pidfile = "$path/kvm.pid"; - my $opts = ($ENV{KVM_OPTIONS} or "-nographic"); + my $opts = (defined($ENV{KVM_OPTIONS})?$ENV{KVM_OPTIONS}:"-nographic"); my ($ifup_script, $dhcpd_pidfile, $ip_address) = $self->write_kvm_ifup($path, "192.168.9"); -- cgit From 7f11952199af28797d49e42e1a336275412538c8 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 17:23:38 +0100 Subject: Allow loading kvm snapshots. (This used to be commit 8ef295bb9cba4a47ff19894364e9d5f4dc15a935) --- source4/selftest/target/Kvm.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm index 7799cb7ec0..b1ad8fcefa 100644 --- a/source4/selftest/target/Kvm.pm +++ b/source4/selftest/target/Kvm.pm @@ -101,9 +101,13 @@ sub start($$$) my $opts = (defined($ENV{KVM_OPTIONS})?$ENV{KVM_OPTIONS}:"-nographic"); + if (defined($ENV{KVM_SNAPSHOT})) { + $opts .= " -loadvm $ENV{KVM_SNAPSHOT}"; + } + my ($ifup_script, $dhcpd_pidfile, $ip_address) = $self->write_kvm_ifup($path, "192.168.9"); - system("kvm $opts -daemonize -pidfile $pidfile -snapshot $image -net nic -net tap,script=$ifup_script"); + system("kvm $opts -monitor unix:$path/kvm.monitor,server,nowait -daemonize -pidfile $pidfile -snapshot $image -net nic -net tap,script=$ifup_script"); return (read_pidfile($pidfile), read_pidfile($dhcpd_pidfile), $ip_address); } -- cgit From dbb79b683338a26d8c5d4f66efec4eae6987688c Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 17:26:02 +0100 Subject: Add kvm name. (This used to be commit 228710e2656f8635697cdf4b7ce0c931683fbf86) --- source4/selftest/target/Kvm.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm index b1ad8fcefa..253f3b53af 100644 --- a/source4/selftest/target/Kvm.pm +++ b/source4/selftest/target/Kvm.pm @@ -107,7 +107,7 @@ sub start($$$) my ($ifup_script, $dhcpd_pidfile, $ip_address) = $self->write_kvm_ifup($path, "192.168.9"); - system("kvm $opts -monitor unix:$path/kvm.monitor,server,nowait -daemonize -pidfile $pidfile -snapshot $image -net nic -net tap,script=$ifup_script"); + system("kvm -name \"Samba 4 Test Subject\" $opts -monitor unix:$path/kvm.monitor,server,nowait -daemonize -pidfile $pidfile -snapshot $image -net nic -net tap,script=$ifup_script"); return (read_pidfile($pidfile), read_pidfile($dhcpd_pidfile), $ip_address); } -- cgit From 95b294f75b05b31cace3818b85b5bf1b8d4722f2 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 18:03:02 +0100 Subject: Only set "interfaces = " line for client when necessary. (This used to be commit 89fd6e9d0c3d0cb2fa3b8109e82f377cd7877a2e) --- source4/selftest/selftest.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index 1672209bef..c17e790f63 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -533,11 +533,13 @@ sub write_clientconf($$) if (defined($vars->{WINBINDD_SOCKET_DIR})) { print CF "\twinbindd socket directory = $vars->{WINBINDD_SOCKET_DIR}\n"; } + if ($opt_socket_wrapper) { + print CF "\tinterfaces = $interfaces\n"; + } print CF " private dir = $prefix_abs/client/private js include = $srcdir_abs/scripting/libjs name resolve order = bcast - interfaces = $interfaces panic action = $srcdir_abs/script/gdb_backtrace \%PID\% \%PROG\% max xmit = 32K notify:inotify = false -- cgit From c2941c9f0b8a48e4ab190c087b7f32c64d76aa8e Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 21:51:09 +0100 Subject: Initial work on vde support. (This used to be commit 9b0dcac0bd805c3e1741448167b461c3fa0e33fd) --- source4/selftest/selftest.pl | 2 +- source4/selftest/target/Kvm.pm | 26 ++++++++++++++++++++------ 2 files changed, 21 insertions(+), 7 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index c17e790f63..996b982e06 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -452,7 +452,7 @@ if ($opt_target eq "samba4") { if ($opt_socket_wrapper); require target::Kvm; die("No image specified") unless ($opt_image); - $target = new Kvm($opt_image); + $target = new Kvm($opt_image, undef); } sub read_test_regexes($) diff --git a/source4/selftest/target/Kvm.pm b/source4/selftest/target/Kvm.pm index 253f3b53af..3b17a2909c 100644 --- a/source4/selftest/target/Kvm.pm +++ b/source4/selftest/target/Kvm.pm @@ -11,9 +11,10 @@ use FindBin qw($RealBin); use POSIX; sub new($$$$) { - my ($classname, $dc_image) = @_; + my ($classname, $dc_image, $vdesocket) = @_; my $self = { dc_image => $dc_image, + vdesocket => $vdesocket, }; bless $self; return $self; @@ -60,8 +61,10 @@ sub teardown_env($$) kill 9, $envvars->{KVM_PID}; - print "Killing dhcpd instance $envvars->{DHCPD_PID}\n"; - kill 9, $envvars->{DHCPD_PID}; + if (defined($envvars->{DHCPD_PID})) { + print "Killing dhcpd instance $envvars->{DHCPD_PID}\n"; + kill 9, $envvars->{DHCPD_PID}; + } return 0; } @@ -105,11 +108,22 @@ sub start($$$) $opts .= " -loadvm $ENV{KVM_SNAPSHOT}"; } - my ($ifup_script, $dhcpd_pidfile, $ip_address) = $self->write_kvm_ifup($path, "192.168.9"); + my $netopts; + my $dhcp_pid; + my $ip_address; + + if ($self->{vdesocket}) { + $netopts = "vde,socket=$self->{vdesocket}"; + } else { + my $ifup_script, $dhcpd_pidfile; + ($ifup_script, $dhcpd_pidfile, $ip_address) = $self->write_kvm_ifup($path, "192.168.9"); + $netopts = "tap,script=$ifup_script"; + $dhcp_pid = read_pidfile($dhcpd_pidfile); + } - system("kvm -name \"Samba 4 Test Subject\" $opts -monitor unix:$path/kvm.monitor,server,nowait -daemonize -pidfile $pidfile -snapshot $image -net nic -net tap,script=$ifup_script"); + system("kvm -name \"Samba 4 Test Subject\" $opts -monitor unix:$path/kvm.monitor,server,nowait -daemonize -pidfile $pidfile -snapshot $image -net nic -net $netopts"); - return (read_pidfile($pidfile), read_pidfile($dhcpd_pidfile), $ip_address); + return (read_pidfile($pidfile), $dhcp_pid, $ip_address); } sub setup_env($$$) -- cgit From 1507b886f8093f38cf84d62236fb076395557b4d Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 19 Feb 2008 22:04:26 +0100 Subject: Add VDE switch management functions. (This used to be commit 5ad9bc7dd9b8a3b37e0acd77eaecc5ee71d7b422) --- source4/selftest/selftest.pl | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index 996b982e06..aa4423c7e2 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # Bootstrap Samba and run a number of tests against it. -# Copyright (C) 2005-2007 Jelmer Vernooij +# Copyright (C) 2005-2008 Jelmer Vernooij # Published under the GNU GPL, v3 or later. =pod @@ -455,6 +455,31 @@ if ($opt_target eq "samba4") { $target = new Kvm($opt_image, undef); } +# +# Start a Virtual Distributed Ethernet Switch +# Returns the pid of the switch. +# +sub start_vde_switch($) +{ + my ($path) = @_; + + system("vde_switch --pidfile $path/vde.pid --sock $path/vde.sock --daemon"); + + open(PID, "$path/vde.pid"); + =~ /([0-9]+)/; + my $pid = $1; + close(PID); + + return $pid; +} + +# Stop a Virtual Distributed Ethernet Switch +sub stop_vde_switch($) +{ + my ($pid) = @_; + kill 9, $pid; +} + sub read_test_regexes($) { my ($name) = @_; -- cgit From 1ce345ef97cc7c737aa678b332f39d630688248a Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 20 Feb 2008 10:51:26 +0100 Subject: Fix nbt tests. (This used to be commit 7bbe48af5568ffc4e4873692316673fd974ef4ef) --- source4/selftest/samba4_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh index 6beff6f279..c57ec4d6bd 100755 --- a/source4/selftest/samba4_tests.sh +++ b/source4/selftest/samba4_tests.sh @@ -294,7 +294,7 @@ plantest "wbinfo -a against member server with domain creds" member $VALGRIND $s NBT_TESTS=`$smb4torture --list | grep "^NBT-" | xargs` for t in $NBT_TESTS; do - plansmbtorturetest "$t" dc //\$SERVER/_none_ $f -U\$USERNAME%\$PASSWORD + plansmbtorturetest "$t" dc //\$SERVER/_none_ -U\$USERNAME%\$PASSWORD done WB_OPTS="--option=\"torture:strict mode=yes\"" -- cgit