1 | #!/bin/sh
|
---|
2 | # This script generates a list of testsuites that should be run as part of
|
---|
3 | # the Samba 3 test suite.
|
---|
4 |
|
---|
5 | # The output of this script is parsed by selftest.pl, which then decides
|
---|
6 | # which of the tests to actually run. It will, for example, skip all tests
|
---|
7 | # listed in selftest/skip or only run a subset during "make quicktest".
|
---|
8 |
|
---|
9 | # The idea is that this script outputs all of the tests of Samba 3, not
|
---|
10 | # just those that are known to pass, and list those that should be skipped
|
---|
11 | # or are known to fail in selftest/skip or selftest/samba4-knownfail. This makes it
|
---|
12 | # very easy to see what functionality is still missing in Samba 3 and makes
|
---|
13 | # it possible to run the testsuite against other servers, such as Samba 4 or
|
---|
14 | # Windows that have a different set of features.
|
---|
15 |
|
---|
16 | # The syntax for a testsuite is "-- TEST --" on a single line, followed
|
---|
17 | # by the name of the test, the environment it needs and the command to run, all
|
---|
18 | # three separated by newlines. All other lines in the output are considered
|
---|
19 | # comments.
|
---|
20 |
|
---|
21 | if [ ! -n "$PERL" ]
|
---|
22 | then
|
---|
23 | PERL=perl
|
---|
24 | fi
|
---|
25 |
|
---|
26 | plantest() {
|
---|
27 | name=$1
|
---|
28 | env=$2
|
---|
29 | shift 2
|
---|
30 | cmdline="$*"
|
---|
31 | echo "-- TEST --"
|
---|
32 | if [ "$env" = "none" ]; then
|
---|
33 | echo "samba3.$name"
|
---|
34 | else
|
---|
35 | echo "samba3.$name ($env)"
|
---|
36 | fi
|
---|
37 | echo $env
|
---|
38 | echo $cmdline
|
---|
39 | }
|
---|
40 |
|
---|
41 | normalize_testname() {
|
---|
42 | name=$1
|
---|
43 | shift 1
|
---|
44 | echo $name | tr "A-Z-" "a-z."
|
---|
45 | }
|
---|
46 |
|
---|
47 | TEST_FUNCTIONS_SH="INCLUDED"
|
---|
48 | testit() {
|
---|
49 | name=$1
|
---|
50 | shift 1
|
---|
51 | cmdline="$*"
|
---|
52 |
|
---|
53 | plantest "`normalize_testname $testitprefix$name`" $testitenv $cmdline
|
---|
54 | return
|
---|
55 | }
|
---|
56 |
|
---|
57 | testok() {
|
---|
58 | true
|
---|
59 | return
|
---|
60 | }
|
---|
61 |
|
---|
62 | BINDIR=`dirname $0`/../bin
|
---|
63 | export BINDIR
|
---|
64 |
|
---|
65 | SCRIPTDIR=`dirname $0`/../script/tests
|
---|
66 | export SCRIPTDIR
|
---|
67 |
|
---|
68 | CONFIGURATION="--configfile \$SMB_CONF_PATH"
|
---|
69 | export CONFIGURATION
|
---|
70 |
|
---|
71 | CONFFILE="\$SMB_CONF_PATH"
|
---|
72 | export CONFFILE
|
---|
73 |
|
---|
74 | SERVER="\$SERVER"
|
---|
75 | export SERVER
|
---|
76 |
|
---|
77 | USERNAME="\$USERNAME"
|
---|
78 | export USERNAME
|
---|
79 |
|
---|
80 | PASSWORD="\$PASSWORD"
|
---|
81 | export PASSWORD
|
---|
82 |
|
---|
83 | (
|
---|
84 | shift $#
|
---|
85 | testitprefix="local_s3."
|
---|
86 | testitenv="none"
|
---|
87 | . $SCRIPTDIR/test_local_s3.sh
|
---|
88 | )
|
---|
89 |
|
---|
90 | (
|
---|
91 | shift $#
|
---|
92 | testitprefix="smbtorture_s3.plain."
|
---|
93 | testitenv="dc"
|
---|
94 | . $SCRIPTDIR/test_smbtorture_s3.sh //\$SERVER_IP/tmp \$USERNAME \$PASSWORD "" ""
|
---|
95 | )
|
---|
96 |
|
---|
97 | (
|
---|
98 | shift $#
|
---|
99 | testitprefix="smbtorture_s3.crypt."
|
---|
100 | testitenv="dc"
|
---|
101 | . $SCRIPTDIR/test_smbtorture_s3.sh //\$SERVER_IP/tmp \$USERNAME \$PASSWORD "" "-e"
|
---|
102 | )
|
---|
103 |
|
---|
104 | (
|
---|
105 | shift $#
|
---|
106 | testitprefix="wbinfo_s3."
|
---|
107 | testitenv="dc:local"
|
---|
108 | . $SCRIPTDIR/test_wbinfo_s3.sh \$WORKGROUP \$SERVER \$USERNAME \$PASSWORD
|
---|
109 | )
|
---|
110 |
|
---|
111 | (
|
---|
112 | shift $#
|
---|
113 | testitprefix="ntlm_auth_s3."
|
---|
114 | testitenv="dc:local"
|
---|
115 | . $SCRIPTDIR/test_ntlm_auth_s3.sh
|
---|
116 | )
|
---|
117 |
|
---|
118 | # plain
|
---|
119 | plantest "blackbox.smbclient_s3.plain" dc BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$USERNAME \$PASSWORD
|
---|
120 | plantest "blackbox.smbclient_s3.plain member creds" member BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$SERVER\\\\\$USERNAME \$PASSWORD
|
---|
121 | plantest "blackbox.smbclient_s3.plain domain creds" member BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$DOMAIN\\\\\$DC_USERNAME \$DC_PASSWORD
|
---|
122 |
|
---|
123 | # sign, only the member server allows signing
|
---|
124 | plantest "blackbox.smbclient_s3.sign member creds" member BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$SERVER\\\\\$USERNAME \$PASSWORD "--signing=required"
|
---|
125 | plantest "blackbox.smbclient_s3.sign domain creds" member BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$DOMAIN\\\\\$DC_USERNAME \$DC_PASSWORD "--signing=required"
|
---|
126 |
|
---|
127 | # encrypted
|
---|
128 | plantest "blackbox.smbclient_s3.crypt" dc BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$USERNAME \$PASSWORD "-e"
|
---|
129 |
|
---|
130 | # these don't work yet
|
---|
131 | #plantest "blackbox.smbclient_s3.crypt member creds" member BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$SERVER\\\\\$USERNAME \$PASSWORD "-e"
|
---|
132 | #plantest "blackbox.smbclient_s3.crypt domain creds" member BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$DOMAIN\\\\\$DC_USERNAME \$DC_PASSWORD "-e"
|
---|
133 |
|
---|
134 | plantest "blackbox.net_s3" dc:local BINDIR="$BINDIR" SCRIPTDIR="$SCRIPTDIR" SERVERCONFFILE="\$SMB_CONF_PATH" script/tests/test_net_s3.sh
|
---|
135 |
|
---|
136 | (
|
---|
137 | shift $#
|
---|
138 | testitprefix="posix_s3."
|
---|
139 | testitenv="dc:local"
|
---|
140 |
|
---|
141 | SMBTORTURE4BINARY=$SMBTORTURE4
|
---|
142 | TORTURE4_OPTIONS=""
|
---|
143 | TORTURE4_OPTIONS="$TORTURE4_OPTIONS --configfile=\$SMB_CONF_PATH"
|
---|
144 | TORTURE4_OPTIONS="$TORTURE4_OPTIONS --maximum-runtime=$SELFTEST_MAXTIME"
|
---|
145 | TORTURE4_OPTIONS="$TORTURE4_OPTIONS --target=$SELFTEST_TARGET"
|
---|
146 | TORTURE4_OPTIONS="$TORTURE4_OPTIONS --basedir=$SELFTEST_PREFIX"
|
---|
147 | if [ -n "$SELFTEST_VERBOSE" ]; then
|
---|
148 | TORTURE4_OPTIONS="$TORTURE4_OPTIONS --option=torture:progress=no"
|
---|
149 | fi
|
---|
150 | TORTURE_OPTIONS="$TORTURE4_OPTIONS --format=subunit"
|
---|
151 | if [ -n "$SELFTEST_QUICK" ]; then
|
---|
152 | TORTURE4_OPTIONS="$TORTURE4_OPTIONS --option=torture:quick=yes"
|
---|
153 | fi
|
---|
154 |
|
---|
155 | # This is an ugly hack...
|
---|
156 | TORTURE4_OPTIONS="$TORTURE4_OPTIONS --option=torture:localdir=$SELFTEST_PREFIX/dc/share"
|
---|
157 |
|
---|
158 | if [ -x "$SMBTORTURE4" ]; then
|
---|
159 | LIB_PATH_VAR_VAR="\$`echo $LIB_PATH_VAR`"
|
---|
160 | S4_LIB_PREFIX=`eval echo "$LIB_PATH_VAR=\"$SAMBA4SHAREDDIR:$LIB_PATH_VAR_VAR\""`
|
---|
161 | SMBTORTURE4="$S4_LIB_PREFIX $SMBTORTURE4"
|
---|
162 | SMBTORTURE4VERSION=`eval $SMBTORTURE4 --version`
|
---|
163 | fi
|
---|
164 | if [ -n "$SMBTORTURE4" -a -n "$SMBTORTURE4VERSION" ];then
|
---|
165 | echo "Using SMBTORTURE4: $SMBTORTURE4BINARY"
|
---|
166 | echo "Version: $SMBTORTURE4VERSION"
|
---|
167 | . $SCRIPTDIR/test_posix_s3.sh //\$SERVER_IP/tmp \$USERNAME \$PASSWORD "" ""
|
---|
168 | else
|
---|
169 | echo "Skip Tests with Samba4's smbtorture"
|
---|
170 | echo "Try to compile with --with-smbtorture4-path=PATH to enable"
|
---|
171 | fi
|
---|
172 |
|
---|
173 | )
|
---|
174 |
|
---|