X-Git-Url: http://git.samba.org/?p=samba.git;a=blobdiff_plain;f=selftest%2Fselftest.pl;h=c56f31f3762b901556d34d19171d82062b9c5acc;hp=78627c8eb660f882ddc819e4ba5eb3400d1d397e;hb=6b3404ad95998351127a5d1b181a2825827c7bd5;hpb=13a3aa13126d537c96f10c22852a813c47f6400e diff --git a/selftest/selftest.pl b/selftest/selftest.pl index 78627c8eb66..c56f31f3762 100755 --- a/selftest/selftest.pl +++ b/selftest/selftest.pl @@ -26,7 +26,7 @@ selftest - Samba test runner selftest --help -selftest [--srcdir=DIR] [--bindir=DIR] [--exeext=EXT][--target=samba4|samba3|win|kvm] [--socket-wrapper] [--quick] [--exclude=FILE] [--include=FILE] [--one] [--prefix=prefix] [--testlist=FILE] [TESTS] +selftest [--srcdir=DIR] [--bindir=DIR] [--exeext=EXT][--target=samba|samba3|win] [--socket-wrapper] [--quick] [--exclude=FILE] [--include=FILE] [--one] [--prefix=prefix] [--testlist=FILE] [TESTS] =head1 DESCRIPTION @@ -56,7 +56,7 @@ Executable extention Change directory to run tests in. Default is 'st'. -=item I<--target samba4|samba3|win|kvm> +=item I<--target samba|samba3|win> Specify test target against which to run. Default is 'samba4'. @@ -142,7 +142,7 @@ if ($@) { } my $opt_help = 0; -my $opt_target = "samba4"; +my $opt_target = "samba"; my $opt_quick = 0; my $opt_socket_wrapper = 0; my $opt_socket_wrapper_pcap = undef; @@ -151,7 +151,6 @@ my $opt_one = 0; my @opt_exclude = (); my @opt_include = (); my $opt_verbose = 0; -my $opt_image = undef; my $opt_testenv = 0; my $opt_list = 0; my $ldap = undef; @@ -300,8 +299,8 @@ Usage: $Script [OPTIONS] TESTNAME-REGEX Generic options: --help this help page - --target=samba[34]|win|kvm Samba version to target - --testlist=FILE file to read available tests from + --target=samba[3]|win Samba version to target + --testlist=FILE file to read available tests from Paths: --prefix=DIR prefix to run tests in [st] @@ -310,7 +309,7 @@ Paths: --exeext=EXT executable extention [] Target Specific: - --socket-wrapper-pcap save traffic to pcap directories + --socket-wrapper-pcap save traffic to pcap directories --socket-wrapper-keep-pcap keep all pcap files, not just those for tests that failed --socket-wrapper enable socket wrapper @@ -318,9 +317,6 @@ Target Specific: Samba4 Specific: --ldap=openldap|fedora-ds back samba onto specified ldap server -Kvm Specific: - --image=PATH path to KVM image - Behaviour: --quick run quick overall test --one abort when the first test fails @@ -350,7 +346,6 @@ my $result = GetOptions ( 'list' => \$opt_list, 'ldap:s' => \$ldap, 'resetup-environment' => \$opt_resetup_env, - 'image=s' => \$opt_image, 'testlist=s' => \@testlists, 'load-list=s' => \$opt_load_list, 'binary-mapping=s' => \$opt_binary_mapping @@ -454,9 +449,9 @@ my $socket_wrapper_dir; if ($opt_socket_wrapper) { $socket_wrapper_dir = SocketWrapper::setup_dir("$prefix_abs/w", $opt_socket_wrapper_pcap); print "SOCKET_WRAPPER_DIR=$socket_wrapper_dir\n"; -} else { +} elsif (not $opt_list) { unless ($< == 0) { - print "WARNING: Not using socket wrapper, but also not running as root. Will not be able to listen on proper ports\n"; + warn("not using socket wrapper, but also not running as root. Will not be able to listen on proper ports"); } } @@ -483,36 +478,28 @@ if (defined($ENV{SMBD_MAXTIME}) and $ENV{SMBD_MAXTIME} ne "") { $server_maxtime = $ENV{SMBD_MAXTIME}; } -if ($opt_target eq "samba") { - if ($opt_socket_wrapper and `$bindir/smbd -b | grep SOCKET_WRAPPER` eq "") { - die("You must include --enable-socket-wrapper when compiling Samba in order to execute 'make test'. Exiting...."); - } - $testenv_default = "all"; - require target::Samba; - $target = new Samba($bindir, \%binary_mapping, $ldap, $srcdir, $exeext, $server_maxtime); -} elsif ($opt_target eq "samba4") { - $testenv_default = "all"; - require target::Samba4; - $target = new Samba4($bindir, \%binary_mapping, $ldap, $srcdir, $exeext, $server_maxtime); -} elsif ($opt_target eq "samba3") { - if ($opt_socket_wrapper and `$bindir/smbd -b | grep SOCKET_WRAPPER` eq "") { - die("You must include --enable-socket-wrapper when compiling Samba in order to execute 'make test'. Exiting...."); +unless ($opt_list) { + if ($opt_target eq "samba") { + if ($opt_socket_wrapper and `$bindir/smbd -b | grep SOCKET_WRAPPER` eq "") { + die("You must include --enable-socket-wrapper when compiling Samba in order to execute 'make test'. Exiting...."); + } + $testenv_default = "dc"; + require target::Samba; + $target = new Samba($bindir, \%binary_mapping, $ldap, $srcdir, $exeext, $server_maxtime); + } elsif ($opt_target eq "samba3") { + if ($opt_socket_wrapper and `$bindir/smbd -b | grep SOCKET_WRAPPER` eq "") { + die("You must include --enable-socket-wrapper when compiling Samba in order to execute 'make test'. Exiting...."); + } + $testenv_default = "member"; + require target::Samba3; + $target = new Samba3($bindir, \%binary_mapping, $srcdir_abs, $exeext, $server_maxtime); + } elsif ($opt_target eq "win") { + die("Windows tests will not run with socket wrapper enabled.") + if ($opt_socket_wrapper); + $testenv_default = "dc"; + require target::Windows; + $target = new Windows(); } - $testenv_default = "member"; - require target::Samba3; - $target = new Samba3($bindir, \%binary_mapping, $srcdir_abs, $exeext, $server_maxtime); -} elsif ($opt_target eq "win") { - die("Windows tests will not run with socket wrapper enabled.") - if ($opt_socket_wrapper); - $testenv_default = "dc"; - 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, undef); } # @@ -772,13 +759,17 @@ foreach my $testsuite (@available) { } if ($match) { if (defined($skipreason)) { + if (not $opt_list) { Subunit::skip_testsuite($name, $skipreason); + } } else { push(@todo, $testsuite); } } } elsif (defined($skipreason)) { - Subunit::skip_testsuite($name, $skipreason); + if (not $opt_list) { + Subunit::skip_testsuite($name, $skipreason); + } } else { push(@todo, $testsuite); } @@ -797,8 +788,10 @@ if (defined($restricted)) { my $suitestotal = $#todo + 1; -Subunit::progress($suitestotal); -Subunit::report_time(time()); +unless ($opt_list) { + Subunit::progress($suitestotal); + Subunit::report_time(time()); +} my $i = 0; $| = 1; @@ -901,7 +894,7 @@ sub setup_env($$) $testenv_vars->{target} = $target; } if (not defined($testenv_vars)) { - warn("$opt_target can't provide environment '$envname'"); + warn("$opt_target can't provide environment '$envname'"); } }