Merge branch 'master' of ssh://git.samba.org/data/git/samba into selftest
authorJelmer Vernooij <jelmer@samba.org>
Sat, 11 Oct 2008 01:12:21 +0000 (03:12 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Sat, 11 Oct 2008 01:12:21 +0000 (03:12 +0200)
Conflicts:
selftest/selftest.pl

1  2 
selftest/output/plain.pm
selftest/selftest.pl
selftest/target/Samba4.pm
source4/Makefile
source4/selftest/config.mk
source4/selftest/quick
source4/selftest/skip
source4/selftest/tests.sh

diff --combined selftest/output/plain.pm
index 4bec4e0fdc142e2dbf493312dbf3c9b522442446,4e1e290534534d484dc1b6545e033afe91ab27e0..4e1e290534534d484dc1b6545e033afe91ab27e0
@@@ -48,10 -48,7 +48,7 @@@ sub start_testsuite($$
        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);
+               print "$out: ";
        }
  }
  
@@@ -94,6 -91,13 +91,13 @@@ sub end_testsuite($$$$$
                $out .= $self->{test_output}->{$name};
        }
  
+       if (not $self->{immediate}) {
+               if (not $unexpected) {
+                       $out .= " ok\n";
+               } else {
+                       $out .= " " . uc($result) . "\n";
+               }
+       }
  
        print $out;
  }
@@@ -120,6 -124,12 +124,12 @@@ sub end_test($$$$$
  
        unless ($unexpected) {
                $self->{test_output}->{$self->{NAME}} = "";
+               if (not $self->{immediate}) {
+                       if ($result eq "failure") { print "f"; }
+                       elsif ($result eq "skip") { print "s"; }
+                       elsif ($result eq "success") { print "."; }
+                       else { print "?($result)"; }
+               }
                return;
        }
  
                print $self->{test_output}->{$self->{NAME}};
                $self->{test_output}->{$self->{NAME}} = "";
        }
+       if (not $self->{immediate}) {
+               if ($result eq "error") { print "E"; } 
+               elsif ($result eq "failure") { print "F"; }
+               elsif ($result eq "success") { print "S"; }
+               else { print "?"; }
+       }
  }
  
  sub summary($)
diff --combined selftest/selftest.pl
index 84b2f52058df1be2401efee325bfe11ac0679fdf,92aa67e8d3e2f74a68c6a1ab3b05a59f769fedb7..1477d10d469bb590bb6ed4dfc552f2a54cdd9389
@@@ -303,7 -303,7 +303,7 @@@ Target Specific
   --expected-failures=FILE   specify list of tests that is guaranteed to fail
  
  Samba4 Specific:
-  --ldap=openldap|fedora-ds     back smbd onto specified ldap server
+  --ldap=openldap|fedora-ds     back samba onto specified ldap server
  
  Samba3 Specific:
   --bindir=PATH              path to binaries
@@@ -405,8 -405,8 +405,8 @@@ if (defined($ENV{RUN_FROM_BUILD_FARM}) 
  
  my $tls_enabled = not $opt_quick;
  $ENV{TLS_ENABLED} = ($tls_enabled?"yes":"no");
 -$ENV{LDB_MODULES_PATH} = "$old_pwd/bin/modules/ldb";
 -$ENV{LD_SAMBA_MODULE_PATH} = "$old_pwd/bin/modules";
 +$ENV{LDB_MODULES_PATH} = "$old_pwd/source4/bin/modules/ldb";
 +$ENV{LD_SAMBA_MODULE_PATH} = "$old_pwd/source4/bin/modules";
  sub prefix_pathvar($$)
  {
        my ($name, $newpath) = @_;
                $ENV{$name} = $newpath;
        }
  }
 -prefix_pathvar("PKG_CONFIG_PATH", "$old_pwd/bin/pkgconfig");
 -prefix_pathvar("PYTHONPATH", "$old_pwd/bin/python");
 +prefix_pathvar("PKG_CONFIG_PATH", "$old_pwd/source4/bin/pkgconfig");
- # Required for smbscript:
- prefix_pathvar("PATH", "$old_pwd/source4/bin");
 +prefix_pathvar("PYTHONPATH", "$old_pwd/source4/bin/python");
  
  if ($opt_socket_wrapper_keep_pcap) {
        # Socket wrapper keep pcap implies socket wrapper pcap
@@@ -576,7 -574,6 +574,6 @@@ sub write_clientconf($$
        }
        print CF "
        private dir = $prefix_abs/client/private
-       js include = $srcdir_abs/scripting/libjs
        name resolve order = bcast
        panic action = $srcdir_abs/script/gdb_backtrace \%PID\% \%PROG\%
        max xmit = 32K
@@@ -812,7 -809,7 +809,7 @@@ if ($opt_testenv) 
  Welcome to the Samba4 Test environment '$testenv_name'
  
  This matches the client environment used in make test
- smbd is pid `cat \$PIDDIR/smbd.pid`
+ server is pid `cat \$PIDDIR/samba.pid`
  
  Some useful environment variables:
  TORTURE_OPTIONS=\$TORTURE_OPTIONS
index 8835f69c6c51908cc1a520d39dc8b7f93531e930,9364008ee2fc6b70e8413587e406104e7fc5d7cd..9364008ee2fc6b70e8413587e406104e7fc5d7cd
@@@ -116,20 -116,20 +116,20 @@@ sub check_or_start($$$
                if (defined($ENV{SMBD_OPTIONS})) {
                        $optarg.= " $ENV{SMBD_OPTIONS}";
                }
-               my $ret = system("$valgrind $self->{bindir}/smbd $optarg $env_vars->{CONFIGURATION} -M single -i --leak-report-full");
+               my $ret = system("$valgrind $self->{bindir}/samba $optarg $env_vars->{CONFIGURATION} -M single -i --leak-report-full");
                if ($? == -1) {
-                       print "Unable to start smbd: $ret: $!\n";
+                       print "Unable to start samba: $ret: $!\n";
                        exit 1;
                }
                unlink($env_vars->{SMBD_TEST_FIFO});
                my $exit = $? >> 8;
                if ( $ret == 0 ) {
-                       print "smbd exits with status $exit\n";
+                       print "samba exits with status $exit\n";
                } elsif ( $ret & 127 ) {
-                       print "smbd got signal ".($ret & 127)." and exits with $exit!\n";
+                       print "samba got signal ".($ret & 127)." and exits with $exit!\n";
                } else {
                        $ret = $? >> 8;
-                       print "smbd failed with status $exit!\n";
+                       print "samba failed with status $exit!\n";
                }
                exit $exit;
        }
@@@ -498,7 -498,7 +498,7 @@@ sub provision($$$$$$
  {
        my ($self, $prefix, $server_role, $netbiosname, $netbiosalias, $swiface, $password) = @_;
  
-       my $smbd_loglevel = 1;
+       my $server_loglevel = 1;
        my $username = "administrator";
        my $domain = "SAMBADOMAIN";
        my $realm = "SAMBA.EXAMPLE.COM";
        lock dir = $lockdir
        setup directory = $self->{setupdir}
        modules dir = $self->{bindir}/modules
-       js include = $srcdir/scripting/libjs
        winbindd socket directory = $winbindd_socket_dir
        winbindd privileged socket directory = $winbindd_privileged_socket_dir
        ntp signd socket directory = $ntp_signd_socket_dir
        ldb:nosync = true
  #We don't want to pass our self-tests if the PAC code is wrong
        gensec:require_pac = true
-       log level = $smbd_loglevel
+       log level = $server_loglevel
  
  [tmp]
        path = $tmpdir
        cifs:server = $netbiosname
        cifs:share = tmp
  #There is no username specified here, instead the client is expected
- #to log in with kerberos, and smbd will used delegated credentials.
+ #to log in with kerberos, and the serverwill use delegated credentials.
  
  [simple]
        path = $tmpdir
@@@ -829,8 -828,8 +828,8 @@@ sub provision_dc($$
        $self->add_wins_config("$prefix/private") or 
                die("Unable to add wins configuration");
  
-       $ret->{SMBD_TEST_FIFO} = "$prefix/smbd_test.fifo";
-       $ret->{SMBD_TEST_LOG} = "$prefix/smbd_test.log";
+       $ret->{SMBD_TEST_FIFO} = "$prefix/server_test.fifo";
+       $ret->{SMBD_TEST_LOG} = "$prefix/server_test.log";
        $ret->{SMBD_TEST_LOG_POS} = 0;
        return $ret;
  }
@@@ -842,8 -841,8 +841,8 @@@ sub teardown_env($$
  
        close(DATA);
  
-       if (-f "$envvars->{PIDDIR}/smbd.pid" ) {
-               open(IN, "<$envvars->{PIDDIR}/smbd.pid") or die("unable to open smbd pid file");
+       if (-f "$envvars->{PIDDIR}/samba.pid" ) {
+               open(IN, "<$envvars->{PIDDIR}/samba.pid") or die("unable to open server pid file");
                $pid = <IN>;
                close(IN);
  
                
                # If it is still around, kill it
                if ($count > 20) {
-                   print "smbd process $pid took more than $count seconds to exit, killing\n";
+                   print "server process $pid took more than $count seconds to exit, killing\n";
                    kill 9, $pid;
                }
        }
diff --combined source4/Makefile
index 530a181f3fc906a2797dc3487682bdfcebac504c,cab82674d212d4ebdc9c4f713b326e784fa86aaf..1b5df9fa951849ee62a9b2a96fe069042595a585
@@@ -10,12 -10,11 +10,11 @@@ include mkconfig.m
  
  pidldir := $(srcdir)/../pidl
  
- BASEDIR = $(prefix)
- TORTUREDIR = $(libdir)/torture
- SWATDIR = $(datadir)/swat
- JSDIR = $(datadir)/js
- SETUPDIR = $(datadir)/setup
- NCALRPCDIR = $(localstatedir)/ncalrpc
+ basedir = $(prefix)
+ torturedir = $(libdir)/torture
+ swatdir = $(datadir)/swat
+ setupdir = $(datadir)/setup
+ ncalrpcdir = $(localstatedir)/ncalrpc
  
  BNLD = $(LD)
  BNLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
@@@ -78,7 -77,7 +77,7 @@@ libstreamsrcdir := lib/strea
  libutilsrcdir := lib/util
  libtdrsrcdir := lib/tdr
  libdbwrapsrcdir := lib/dbwrap
- libcryptosrcdir := lib/crypto
+ libcryptosrcdir := ../lib/crypto
  libtorturesrcdir := lib/torture
  smb_serversrcdir := smb_server
  libcompressionsrcdir := ../lib/compression
@@@ -98,15 -97,25 +97,25 @@@ ntvfssrcdir := ntvf
  ntptrsrcdir := ntptr
  librpcsrcdir := librpc
  libclisrcdir := libcli
- ejsscriptsrcdir := scripting/ejs
+ libclinbtsrcdir := ../libcli/nbt
  pyscriptsrcdir := $(srcdir)/scripting/python
  kdcsrcdir := kdc
  ntp_signdsrcdir := ntp_signd
  wmisrcdir := lib/wmi
  tallocsrcdir := ../lib/talloc
+ comsrcdir := $(srcdir)/lib/com
  
  include data.mk
  
+ $(foreach SCRIPT,$(wildcard scripting/bin/*),$(eval $(call binary_install_template,$(SCRIPT))))
+ $(DESTDIR)$(bindir)/%: scripting/bin/% installdirs
+       @mkdir -p $(@D)
+       @echo Installing $(@F) as $@
+       @if test -f $@; then echo -n ""; rm -f $@.old; mv $@ $@.old; fi
+       @cp $< $@
+       @chmod $(INSTALLPERMS) $@
  pythonmods:: $(PYTHON_PYS) $(PYTHON_SO)
  
  DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \
@@@ -132,6 -141,9 +141,9 @@@ els
  include $(srcdir)/static_deps.mk
  endif
  
+ clean::
+       @find ../lib ../libcli -name '*.o' -o -name '*.hd' | xargs rm -f
  DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \
                  $(srcdir)/version.h
  
@@@ -152,7 -164,7 +164,7 @@@ testsuite:: bin/smbclient bin/cifsdd bi
  
  showlayout:: 
        @echo 'Samba will be installed into:'
-       @echo '  basedir:     $(BASEDIR)'
+       @echo '  basedir:     $(basedir)'
        @echo '  bindir:      $(bindir)'
        @echo '  sbindir:     $(sbindir)'
        @echo '  libdir:      $(libdir)'
        @echo '  piddir:      $(piddir)'
        @echo '  lockdir:     $(lockdir)'
        @echo '  logfilebase: $(logfilebase)'
-       @echo '  setupdir:    $(SETUPDIR)'
-       @echo '  jsdir:       $(JSDIR)'
-       @echo '  swatdir:     $(SWATDIR)'
+       @echo '  setupdir:    $(setupdir)'
+       @echo '  swatdir:     $(swatdir)'
        @echo '  mandir:      $(mandir)'
-       @echo '  torturedir:  $(TORTUREDIR)'
+       @echo '  torturedir:  $(torturedir)'
        @echo '  datadir:     $(datadir)'
        @echo '  winbindd_socket_dir:  $(winbindd_socket_dir)'
        @echo '  ntp_signd_socket_dir:  $(ntp_signd_socket_dir)'
@@@ -179,7 -190,7 +190,7 @@@ showflags:
  # The permissions to give the executables
  INSTALLPERMS = 0755
  
- install:: showlayout everything installbin installsbin installdat installswat installmisc \
+ install:: showlayout everything installbin installsbin installdat installmisc \
              installlib installheader installpc installplugins
  
  # DESTDIR is used here to prevent packagers wasting their time
  
  installdirs::
        @$(SHELL) $(srcdir)/script/installdirs.sh \
-               $(DESTDIR)$(BASEDIR) \
+               $(DESTDIR)$(basedir) \
                $(DESTDIR)$(bindir) \
                $(DESTDIR)$(sbindir) \
-               $(DESTDIR)$(TORTUREDIR) \
+               $(DESTDIR)$(torturedir) \
                $(DESTDIR)$(libdir) \
                $(DESTDIR)$(modulesdir) \
                $(DESTDIR)$(mandir) \
                $(DESTDIR)$(logfilebase) \
                $(DESTDIR)$(privatedir)/tls \
                $(DESTDIR)$(includedir) \
-               $(DESTDIR)$(PKGCONFIGDIR) \
+               $(DESTDIR)$(pkgconfigdir) \
                $(DESTDIR)$(sysconfdir)
  
  installbin:: installdirs
@@@ -226,24 -237,21 +237,21 @@@ installheader:: headers installdir
  installdat:: installdirs
        @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(datadir) $(srcdir)
  
- installswat:: installdirs
- #SWAT has been disabled until further notice
- #     @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir)
  installman:: manpages installdirs
        @$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(mandir) $(MANPAGES)
  
  installmisc:: installdirs
-       @$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(JSDIR) $(DESTDIR)$(SETUPDIR) $(DESTDIR)$(bindir)
+       @$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(setupdir)
  
  installpc:: installdirs
-       @$(SHELL) $(srcdir)/script/installpc.sh $(builddir) $(DESTDIR)$(PKGCONFIGDIR) $(PC_FILES)
+       @$(SHELL) $(srcdir)/script/installpc.sh $(builddir) $(DESTDIR)$(pkgconfigdir) $(PC_FILES)
  
- uninstall:: uninstallbin uninstallman uninstallmisc uninstalllib uninstallheader \
-       uninstallplugins
+ uninstall:: uninstallbin uninstallsbin uninstalldat uninstallmisc uninstalllib uninstallheader \
+                       uninstallman uninstallpc uninstallplugins
  
  uninstallmisc::
-       #FIXME
+       @echo "Removing MISC files"
+       @rm -rf $(DESTDIR)$(setupdir)/*
  
  $(DESTDIR)$(bindir)/%: bin/% installdirs
        @mkdir -p $(@D)
@@@ -259,20 -267,30 +267,30 @@@ $(DESTDIR)$(sbindir)/%: bin/% installdi
        @cp $< $@
        @chmod $(INSTALLPERMS) $@
  
+ uninstalldat::
+       @echo "Removing DAT files"
+       @rm -fr $(DESTDIR)$(datadir)/*
  uninstallbin::
  
  uninstalllib::
+       @echo "Removing libraries"
        @$(SHELL) $(srcdir)/script/uninstalllib.sh $(DESTDIR)$(libdir) $(SHARED_LIBS)
-       #@$(SHELL) $(srcdir)/script/uninstalllib.sh $(DESTDIR)$(libdir) $(STATIC_LIBS) 
  
  uninstallheader::
-       @$(SHELL) $(srcdir)/script/uninstallheader.sh $(DESTDIR)$(includedir) $(PUBLIC_HEADERS)
+       @echo "Removing headers"
+       @rm -fr $(DESTDIR)$(includedir)/*
  
  uninstallman::
+       @echo "Removing manpages"
        @$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(mandir) $(MANPAGES)
  
  uninstallplugins::
  
+ uninstallpc::
+       @echo "Removing package configurations"
+       @cd $(DESTDIR)$(pkgconfigdir); rm -f $(notdir $(PC_FILES))
  config.status:
        @echo "config.status does not exist. Please run ./configure."
        @/bin/false
@@@ -283,8 -301,8 +301,8 @@@ data.mk: config.status $(MK_FILES
  testcov-html:: 
  
  include $(pidldir)/config.mk
 -selftestdir := $(srcdir)/selftest
 -include $(selftestdir)/config.mk
 +selftestdir := $(srcdir)/../selftest
 +include $(srcdir)/selftest/config.mk
  
  showflags::
        @echo '  pwd        = '`/bin/pwd`
index 9e5983d026b5c19685b948d8c6720ccb0cdeb8b3,e4bb2df0ad90c11531cf1d187e27e81082cd9e8e..dd440edb533625b4b0818f468162a00a93a427cc
@@@ -2,12 -2,12 +2,12 @@@ TEST_FORMAT = plai
  
  SELFTEST = $(LD_LIBPATH_OVERRIDE) $(PERL) $(selftestdir)/selftest.pl --prefix=${selftest_prefix} \
      --builddir=$(builddir) --srcdir=$(srcdir) \
 -    --expected-failures=$(srcdir)/samba4-knownfail \
 +    --expected-failures=$(srcdir)/selftest/knownfail \
        --format=$(TEST_FORMAT) \
 -    --exclude=$(srcdir)/samba4-skip --testlist="./selftest/samba4_tests.sh|" \
 +    --exclude=$(srcdir)/selftest/skip --testlist="./selftest/tests.sh|" \
      $(TEST_OPTIONS) 
  
 -SELFTEST_NOSLOW_OPTS = --exclude=$(srcdir)/samba4-slow
 +SELFTEST_NOSLOW_OPTS = --exclude=$(srcdir)/selftest/slow
  SELFTEST_QUICK_OPTS = $(SELFTEST_NOSLOW_OPTS) --quick 
  
  slowtest:: everything
@@@ -49,33 -49,36 +49,36 @@@ quicktestone:: al
  testenv:: everything
        $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
  
+ testenv-%:: everything
+       SELFTEST_TESTENV=$* $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
  valgrindtest:: valgrindtest-all
  
  valgrindtest-quick:: all
-       SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
+       SMBD_VALGRIND="xterm -n server -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
        VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
        $(SELFTEST) $(SELFTEST_QUICK_OPTS) --immediate --socket-wrapper $(TESTS)
  
  valgrindtest-all:: everything
-       SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
+       SMBD_VALGRIND="xterm -n server -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
        VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
        $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --immediate --socket-wrapper $(TESTS)
  
  valgrindtest-env:: everything
-       SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
+       SMBD_VALGRIND="xterm -n server -e $(srcdir)/script/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
        VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
        $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
  
  gdbtest:: gdbtest-all
  
  gdbtest-quick:: all
-       SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \
+       SMBD_VALGRIND="xterm -n server -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \
        $(SELFTEST) $(SELFTEST_QUICK_OPTS) --immediate --socket-wrapper $(TESTS)
  
  gdbtest-all:: everything
-       SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \
+       SMBD_VALGRIND="xterm -n server -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \
        $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --immediate --socket-wrapper $(TESTS)
  
  gdbtest-env:: everything
-       SMBD_VALGRIND="xterm -n smbd -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \
+       SMBD_VALGRIND="xterm -n server -e $(srcdir)/script/gdb_run $(LD_LIBPATH_OVERRIDE)" \
        $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
diff --combined source4/selftest/quick
index 3627a87bbe54566bec91a3a76ffe5720b9e73962,7bea619f18a18bdc5155adbc2f48b1c68c21ea77..7bea619f18a18bdc5155adbc2f48b1c68c21ea77
@@@ -35,3 -35,4 +35,4 @@@ rpc.altercontex
  rpc.join
  rpc.handles
  rpc.echo
+ smb.signing
diff --combined source4/selftest/skip
index b1313adea0cf63918bcc38503379fbd4028145f4,e3e2d2d52524aea660f326cdeb5032f8d2687a66..e3e2d2d52524aea660f326cdeb5032f8d2687a66
@@@ -58,6 -58,4 +58,4 @@@ samba4.ntvfs.cifs.raw
  ^samba4.net.domopen.*$                                # Hangs for some reason
  ^samba4.net.api.become.dc.*$                  # Fails
  nss.test                                              # Fails
- samba4.samba3sam.python               # Conversion from EJS not yet finished
  raw.offline                   # Samba 4 doesn't have much offline support yet
- winreg*  #Does not authenticate against the target server
index eff06f588e0adb4788298ccd6a11c5c5cfa0e657,9fc71a104f4006199d3ed17602aadcf67a1635c3..fa799f51ffde2ef12977db2a75256f3db9dd17d8
@@@ -23,6 -23,8 +23,6 @@@ the
        PERL=perl
  fi
  
 -incdir=`dirname $0`
 -
  plantest() {
        name=$1
        env=$2
@@@ -54,16 -56,12 +54,12 @@@ plansmbtorturetest() 
        plantest "$modname" "$env" $cmdline
  }
  
 -$incdir/../bin/smbtorture -V
 +bin/smbtorture -V
  
 -samba4srcdir=$incdir/..
 +samba4srcdir=.
  samba4bindir=$samba4srcdir/bin
- SCRIPTDIR=$samba4srcdir/../testprogs/ejs
  smb4torture="$samba4bindir/smbtorture $TORTURE_OPTIONS"
  
- plantest "js.base" dc "$SCRIPTDIR/base.js" $CONFIGURATION
- plantest "js.ldb" none "$SCRIPTDIR/ldb.js" `pwd` $CONFIGURATION -d 10
  # Simple tests for LDAP and CLDAP
  
  for options in "" "--option=socket:testnonblock=true" "-U\$USERNAME%\$PASSWORD --option=socket:testnonblock=true" "-U\$USERNAME%\$PASSWORD"; do
@@@ -93,7 -91,7 +89,7 @@@ plantest "ldb" none TEST_DATA_PREFIX=\$
  # that they stay passing
  ncacn_np_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-HANDLES RPC-SAMSYNC RPC-SAMBA3SESSIONKEY RPC-SAMBA3-GETUSERNAME RPC-SAMBA3-LSA RPC-BINDSAMBA3 RPC-NETLOGSAMBA3 RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
  ncalrpc_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-DRSUAPI RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
- ncacn_ip_tcp_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-HANDLES RPC-DSSYNC RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
+ ncacn_ip_tcp_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-HANDLES RPC-DSSYNC RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT RPC-OBJECTUUID"
  slow_ncacn_np_tests="RPC-SAMLOGON RPC-SAMR RPC-SAMR-USERS RPC-SAMR-PASSWORDS"
  slow_ncalrpc_tests="RPC-SAMR RPC-SAMR-PASSWORDS"
  slow_ncacn_ip_tcp_tests="RPC-SAMR RPC-SAMR-PASSWORDS RPC-CRACKNAMES"
@@@ -254,7 -252,7 +250,7 @@@ if test x"${PIDL_TESTS_SKIP}" = x"yes"
     echo "Skipping pidl tests - PIDL_TESTS_SKIP=yes"
  elif $PERL -e 'eval require Test::More;' > /dev/null 2>&1; then
    for f in $samba4srcdir/../pidl/tests/*.pl; do
-      plantest "pidl.`basename $f .pl`" none $PERL $f "|" $samba4srcdir/script/harness2subunit.pl
+      plantest "pidl.`basename $f .pl`" none $PERL $f "|" $samba4srcdir/../lib/subunit/harness2subunit.pl
    done
  else 
     echo "Skipping pidl tests - Test::More not installed"
@@@ -265,9 -263,9 +261,9 @@@ f
  # the API. These mainly test that the various command-line options of commands 
  # work correctly.
  
 -bbdir=$incdir/../../testprogs/blackbox
 +bbdir=../testprogs/blackbox
  
- plantest "blackbox.ndrdump" dc $samba4srcdir/librpc/tests/test_ndrdump.sh
+ plantest "blackbox.ndrdump" none $samba4srcdir/librpc/tests/test_ndrdump.sh
  plantest "blackbox.net" dc $samba4srcdir/utils/tests/test_net.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN"
  plantest "blackbox.kinit" dc $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" $CONFIGURATION 
  plantest "blackbox.cifsdd" dc $samba4srcdir/client/tests/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" 
@@@ -285,10 -283,6 +281,6 @@@ for t in "BASE-RW1"; d
      plantest "ntvfs.simple.`normalize_testname $t`" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/simple -U"\$USERNAME"%"\$PASSWORD" $t
  done
  
- DATADIR=$samba4srcdir/../testdata
- plantest "js.samba3sam" none $samba4bindir/smbscript $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 "$*"
@@@ -298,6 -292,46 +290,46 @@@ plantest "rpc.samr.users against membe
  plantest "rpc.samr.passwords against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-PASSWORDS" "$*"
  plantest "blackbox.smbclient against member server with local creds" member $samba4srcdir/client/tests/test_smbclient.sh "\$NETBIOSNAME" "\$USERNAME" "\$PASSWORD" "\$NETBIOSNAME" "$PREFIX" 
  
+ # Tests SMB signing
+ for mech in \
+       "-k no" \
+       "-k no --option=usespnego=no" \
+       "-k no --option=gensec:spengo=no" \
+       "-k yes" \
+       "-k yes --option=gensec:fake_gssapi_krb5=yes --option=gensec:gssapi_krb5=no"; do
+    for signing in \
+       "--signing=on" \
+       "--signing=required"; do
+       signoptions="$mech $signing"
+       name="smb.signing on with $signoptions"
+       plantest "$name" dc $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp $signoptions -U"\$USERNAME"%"\$PASSWORD" BASE-XCOPY "$*"
+    done
+ done
+ for mech in \
+       "-k no" \
+       "-k no --option=usespnego=no" \
+       "-k no --option=gensec:spengo=no" \
+       "-k yes" \
+       "-k yes --option=gensec:fake_gssapi_krb5=yes --option=gensec:gssapi_krb5=no"; do
+       signoptions="$mech --signing=off"
+       name="smb.signing on with $signoptions"
+       plantest "$name domain-creds" member $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp $signoptions -U"\$DC_USERNAME"%"\$DC_PASSWORD" BASE-XCOPY "$*"
+ done
+ for mech in \
+       "-k no" \
+       "-k no --option=usespnego=no" \
+       "-k no --option=gensec:spengo=no"; do
+       signoptions="$mech --signing=off"
+       name="smb.signing on with $signoptions"
+       plantest "$name local-creds" member $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp $signoptions -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" BASE-XCOPY "$*"
+ done
+ plantest "smb.signing --signing=yes anon" dc $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp -k no --signing=yes -U% BASE-XCOPY "$*"
+ plantest "smb.signing --signing=required anon" dc $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp -k no --signing=required -U% BASE-XCOPY "$*"
+ plantest "smb.signing --signing=no anon" member $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp -k no --signing=no -U% BASE-XCOPY "$*"
  NBT_TESTS=`$smb4torture --list | grep "^NBT-" | xargs`
  
  for t in $NBT_TESTS; do
@@@ -347,6 -381,7 +379,7 @@@ plantest "samdb.python" none $SUBUNITRU
  plantest "events.python" none PYTHONPATH="$PYTHONPATH:lib/events" $SUBUNITRUN tests
  plantest "messaging.python" none PYTHONPATH="$PYTHONPATH:lib/messaging/tests" $SUBUNITRUN bindings
  plantest "samba3sam.python" none PYTHONPATH="$PYTHONPATH:dsdb/samdb/ldb_modules/tests" $SUBUNITRUN samba3sam
+ plantest "subunit.python" none $SUBUNITRUN subunit
  plantest "rpcecho.python" dc $SUBUNITRUN samba.tests.dcerpc.rpcecho
  plantest "winreg.python" dc $SUBUNITRUN -U\$USERNAME%\$PASSWORD samba.tests.dcerpc.registry
  plantest "ldap.python" dc $PYTHON $samba4srcdir/lib/ldb/tests/python/ldap.py $CONFIGURATION \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN