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:
parent
72d88d158a
commit
804ac30704
@ -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
20
source4/samba4-skip
Normal 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
|
@ -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 {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user