Author: jelmer Date: 2007-03-05 22:24:21 +0000 (Mon, 05 Mar 2007) New Revision: 21709
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21709 Log: Add a list of tests that should be skipped rather than ad-hoc test skipping in various places. Added: branches/SAMBA_4_0/source/samba4-skip Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/main.mk branches/SAMBA_4_0/source/script/tests/selftest.pl branches/SAMBA_4_0/source/script/tests/test_local.sh branches/SAMBA_4_0/source/script/tests/test_posix.sh Changeset: Property changes on: branches/SAMBA_4_0 ___________________________________________________________________ Name: bzr:merge ...skipped... Modified: branches/SAMBA_4_0/source/main.mk =================================================================== --- branches/SAMBA_4_0/source/main.mk 2007-03-05 22:19:25 UTC (rev 21708) +++ branches/SAMBA_4_0/source/main.mk 2007-03-05 22:24:21 UTC (rev 21709) @@ -283,7 +283,7 @@ check:: test -SELFTEST = $(srcdir)/script/tests/selftest.pl --prefix=${selftest_prefix} --builddir=$(builddir) --srcdir=$(srcdir) --expected-failures=samba4-knownfail +SELFTEST = $(srcdir)/script/tests/selftest.pl --prefix=${selftest_prefix} --builddir=$(builddir) --srcdir=$(srcdir) --expected-failures=samba4-knownfail --skip=samba4-skip test: all libraries $(SELFTEST) $(DEFAULT_TEST_OPTIONS) $(TESTS) --immediate Added: branches/SAMBA_4_0/source/samba4-skip =================================================================== --- branches/SAMBA_4_0/source/samba4-skip 2007-03-05 22:19:25 UTC (rev 21708) +++ branches/SAMBA_4_0/source/samba4-skip 2007-03-05 22:24:21 UTC (rev 21709) @@ -0,0 +1,20 @@ +BASE-CHARSET +BASE-DEFER_OPEN +BASE-DELAYWRITE +RAW-COMPOSITE +RAW-OPLOCK +BASE-IOMETER +BASE-SAMBA3ERROR +BASE-CASETABLE +BASE-NTTRANS +BASE-BENCH-HOLDCON +BASE-SCAN-MAXFID +RAW-BENCH-OPLOCK +RAW-SAMBA3HIDE +RAW-SAMBA3CLOSEERR +RAW-SAMBA3CHECKFSP +RAW-SAMBA3BADPATH +RAW-SCAN-EAMAX +SMB2-LOCK +SMB2-NOTIFY +LOCAL-RESOLVE Modified: branches/SAMBA_4_0/source/script/tests/selftest.pl =================================================================== --- branches/SAMBA_4_0/source/script/tests/selftest.pl 2007-03-05 22:19:25 UTC (rev 21708) +++ branches/SAMBA_4_0/source/script/tests/selftest.pl 2007-03-05 22:24:21 UTC (rev 21709) @@ -69,6 +69,11 @@ TESTSUITE-NAME/TEST-NAME +=item I<--skip> + +Specify a file containing a list of tests that should be skipped. Possible candidates are +tests that segfault the server, flip or don't end. + =item I<--one> Abort as soon as one test fails. @@ -123,6 +128,7 @@ my $opt_one = 0; my $opt_immediate = 0; my $opt_expected_failures = undef; +my $opt_skip = undef; my $opt_verbose = 0; my $srcdir = "."; @@ -132,10 +138,12 @@ my $suitesfailed = []; my $start = time(); my @expected_failures = (); +my @skips = (); my $statistics = { SUITES_FAIL => 0, SUITES_OK => 0, + SUITES_SKIPPED => 0, TESTS_UNEXPECTED_OK => 0, TESTS_EXPECTED_OK => 0, @@ -148,13 +156,19 @@ { my $fullname = shift; - foreach (@expected_failures) { - return 1 if $fullname =~ /^$_$/; - } + return 1 if (grep(/^$fullname$/, @expected_failures)); return 0; } +sub skip($) +{ + my $fullname = shift; + + return 1 if (grep(/^$fullname$/, @skips)); + return 0; +} + sub run_test_buildfarm($$$$) { my ($name, $cmd, $i, $suitestotal) = @_; @@ -310,6 +324,7 @@ 'one' => \$opt_one, 'immediate' => \$opt_immediate, 'expected-failures=s' => \$opt_expected_failures, + 'skip=s' => \$opt_skip, 'srcdir=s' => \$srcdir, 'builddir=s' => \$builddir, 'verbose' => \$opt_verbose @@ -419,6 +434,15 @@ close(KNOWN); } +if (defined($opt_skip)) { + open(SKIP, "<$opt_skip") or die("unable to read skip file: $!"); + while (<SKIP>) { + chomp; + s/([ \t]+)\#(.*)$//; + push (@skips, $_); } + close(SKIP); +} + my $test_fifo = "$prefix/smbd_test.fifo"; $ENV{SMBD_TEST_FIFO} = $test_fifo; @@ -496,6 +520,13 @@ my $cmd = $$_[1]; $cmd =~ s/([\(\)])/\\$1/g; my $name = $$_[0]; + + if (skip($name)) { + print "SKIPPED: $name\n"; + $statistics->{SUITES_SKIPPED}++; + next; + } + if ($from_build_farm) { run_test_buildfarm($name, $cmd, $i, $suitestotal); } else { Modified: branches/SAMBA_4_0/source/script/tests/test_local.sh =================================================================== --- branches/SAMBA_4_0/source/script/tests/test_local.sh 2007-03-05 22:19:25 UTC (rev 21708) +++ branches/SAMBA_4_0/source/script/tests/test_local.sh 2007-03-05 22:24:21 UTC (rev 21709) @@ -21,25 +21,10 @@ # the local tests don't need smbd SMBD_TEST_FIFO="" export SMBD_TEST_FIFO -skipped="LOCAL-RESOLVE" -echo "WARNING: Skipping $skipped" - failed=0 for t in $local_tests; do - skip=0 - for s in $skipped; do - if [ x"$s" = x"$t" ]; then - skip=1; - break; - fi - done - if [ $skip = 1 ]; then - continue; - fi - - name="$t" - testit "$name" $VALGRIND bin/smbtorture $TORTURE_OPTIONS ncalrpc: $t "$*" + testit "$t" $VALGRIND bin/smbtorture $TORTURE_OPTIONS ncalrpc: $t "$*" done testok $0 $failed Modified: branches/SAMBA_4_0/source/script/tests/test_posix.sh =================================================================== --- branches/SAMBA_4_0/source/script/tests/test_posix.sh 2007-03-05 22:19:25 UTC (rev 21708) +++ branches/SAMBA_4_0/source/script/tests/test_posix.sh 2007-03-05 22:24:21 UTC (rev 21709) @@ -25,34 +25,10 @@ base=`bin/smbtorture --list | grep "^BASE-" | xargs` tests="$base $raw $smb2" -# -# please add tests you want to be skipped here! -# -skipped="BASE-CHARSET BASE-DEFER_OPEN BASE-DELAYWRITE RAW-COMPOSITE RAW-OPLOCK BASE-IOMETER" -skipped="$skipped BASE-SAMBA3ERROR BASE-CASETABLE BASE-NTTRANS BASE-BENCH-HOLDCON BASE-SCAN-MAXFID" -skipped="$skipped RAW-BENCH-OPLOCK RAW-SAMBA3HIDE RAW-SAMBA3CLOSEERR RAW-SAMBA3CHECKFSP RAW-SAMBA3BADPATH" -skipped="$skipped RAW-SCAN-EAMAX SMB2-LOCK SMB2-NOTIFY" - -echo "WARNING: Skipping tests $skipped" - -failed=0 for t in $tests; do if [ ! -z "$start" -a "$start" != $t ]; then continue; fi - skip=0 - for s in $skipped; do - if [ x"$s" = x"$t" ]; then - skip=1; - break; - fi - done - if [ $skip = 1 ]; then - continue; - fi start="" - name="$t" - testit "$name" $VALGRIND bin/smbtorture $TORTURE_OPTIONS $ADDARGS $unc -U"$username"%"$password" $t + testit "$t" $VALGRIND bin/smbtorture $TORTURE_OPTIONS $ADDARGS $unc -U"$username"%"$password" $t done - -testok $0 $failed