1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

r21709: Add a list of tests that should be skipped rather than ad-hoc test skipping in various places.

(This used to be commit 01befd52111b8c183d78f9e0d80065fe0825b87c)
This commit is contained in:
Jelmer Vernooij 2007-03-05 22:24:21 +00:00 committed by Gerald (Jerry) Carter
parent 72d88d158a
commit 804ac30704
5 changed files with 57 additions and 45 deletions

View File

@ -283,7 +283,7 @@ realdistclean: distclean removebackup
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

20
source4/samba4-skip Normal file
View File

@ -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

View File

@ -69,6 +69,11 @@ The format for the file is, one entry per line:
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_socket_wrapper_pcap = undef;
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 $prefix = "st";
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 @@ sub expecting_failure($)
{
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 @@ my $result = GetOptions (
'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 @@ if (defined($opt_expected_failures)) {
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 @@ foreach (@todo) {
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 {

View File

@ -21,25 +21,10 @@ incdir=`dirname $0`
# 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

View File

@ -25,34 +25,10 @@ raw=`bin/smbtorture --list | grep "^RAW-" | xargs`
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