source: trunk/test/test.sh@ 172

Last change on this file since 172 was 172, checked in by katerina, 16 years ago

Documentation update, more dnmalloc fixes.

File size: 19.3 KB
RevLine 
[1]1#! /bin/sh
2
[27]3#
4# Copyright Rainer Wichmann (2006)
5#
6# License Information:
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program; if not, write to the Free Software
19# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20#
21
[30]22# -----------------------------------------------------------------------
23# Be Bourne compatible
24# -----------------------------------------------------------------------
25
26if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
27 emulate sh
28 NULLCMD=:
29elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
30 set -o posix
31fi
32
33# -----------------------------------------------------------------------
34# Make sure we support functions (from the autoconf manual)
35# -----------------------------------------------------------------------
36
37TSHELL="${TSHELL-/bin/sh}"
38if test x"$1" = "x--re-executed"
39then
40 shift
41elif "$TSHELL" -c 'foo () { (exit 0); exit 0; }; foo' >/dev/null 2>&1
42then
43 :
44else
45 for cmd in sh bash ash bsh ksh zsh sh5; do
46 X="$PATH:/bin:/usr/bin:/usr/afsws/bin:/usr/ucb:/usr/xpg4/bin";
47 OLD_IFS=${IFS}
48 IFS=':'; export IFS
49 for dir in $X; do
50 shell="$dir/$cmd"
51 if (test -f "$shell" || test -f "$shell.exe")
52 then
53 if "$shell" -c 'foo () { (exit 0); exit 0; }; foo' >/dev/null 2>&1
54 then
55 TSHELL="$shell"; export TSHELL
56 IFS=${OLD_IFS}; export IFS
57 exec "$shell" "$0" --re-executed ${1+"$@"}
58 fi
59 fi
60 done
61 IFS=${OLD_IFS}; export IFS
62 done
63 echo "-----------------------------------------------------------------"
64 echo "ERROR: Unable to locate a shell interpreter with function support" >&2
65 echo "-----------------------------------------------------------------"
66 { (exit 1); exit 1; }
67fi
68
69# -----------------------------------------------------------------------
70# Make sure we support 'let' (from the autoconf manual)
71# -----------------------------------------------------------------------
72
73TSHELL="${TSHELL-/bin/sh}"
74if test x"$1" = "x--re-run"
75then
76 shift
77elif "$TSHELL" -c 'a=5; let "a = a + 5"' >/dev/null 2>&1
78then
79 :
80else
81 for cmd in sh bash ash bsh ksh zsh sh5; do
82 X="$PATH:/bin:/usr/bin:/usr/afsws/bin:/usr/ucb:/usr/xpg4/bin";
83 OLD_IFS=${IFS}
84 IFS=':'; export IFS
85 for dir in $X; do
86 shell="$dir/$cmd"
87 if (test -f "$shell" || test -f "$shell.exe")
88 then
89 if "$shell" -c 'foo () { (exit 0); exit 0; }; foo' >/dev/null 2>&1
90 then
91 if "$shell" -c 'a=5; let "a = a + 5"' >/dev/null 2>&1
92 then
93 TSHELL="$shell"; export TSHELL
94 IFS=${OLD_IFS}; export IFS
95 exec "$shell" "$0" --re-run ${1+"$@"}
96 fi
97 fi
98 fi
99 done
100 IFS=${OLD_IFS}; export IFS
101 done
102 echo "-----------------------------------------------------------------"
103 echo "ERROR: Unable to locate a shell interpreter with support for 'let'" >&2
104 echo "-----------------------------------------------------------------"
105 { (exit 1); exit 1; }
106fi
107
108
109umask 0022
110
[19]111isok=`test -t 1 2>&1 | wc -c`
112if [ "$isok" -eq 0 ]; then
113 test -t 1
114 isok=$?
115fi
[1]116
117# The following two are the ANSI sequences for start and end embolden
[19]118if [ x"$isok" = x0 ]; then
119 case $TERM in
120 vt*|ansi*|con*|xterm*|linux*|screen*|rxvt*)
121 S='[1;30m'
122 R=[31m
123 G=[32m
124 B=[36m
125 E=[m
126 ;;
127 *)
128 S=
129 R=
130 G=
131 B=
132 E=
133 ;;
134 esac
135fi
[1]136
[19]137
138usage() {
139 echo "test.sh [options] <test_number> [hostname]"
[68]140 echo " [-q|--quiet|-v|--verbose] [-s|--stoponerr] [-n|--no-cleanup]"
[19]141 echo " [--srcdir=top_srcdir] [--color=always|never|auto]"
142 echo
143 echo " ${S}test.sh 1${E} -- Compile with many different options"
144 echo " ${S}test.sh 2${E} -- Hash function (testrc_1)"
145 echo " ${S}test.sh 3${E} -- Standalone init/check"
146 echo " ${S}test.sh 4${E} -- Microstealth init/check"
147 echo " ${S}test.sh 5${E} -- External program call (testrc_1ext.in)"
148 echo " ${S}test.sh 6${E} -- Controlling the daemon"
149 echo " ${S}test.sh 7${E} -- GnuPG signed files / prelude log"
[22]150 echo " ${S}test.sh 8${E} -- Suidcheck"
[68]151 echo " ${S}test.sh 9${E} -- Process check"
152 echo " ${S}test.sh 10${E} -- Port check"
[19]153
[68]154 echo " ${S}test.sh 20${E} -- Test c/s init/check (testrc_2.in)"
155 echo " ${S}test.sh 21${E} -- Test full c/s init/check (testrc_2.in)"
156 echo " ${S}test.sh 22${E} -- Test full c/s w/gpg (testrc_2.in)"
157 echo " ${S}test.sh 23${E} -- Test full c/s w/mysql (testrc_2.in)"
158 echo " ${S}test.sh 24${E} -- Test full c/s w/postgres (testrc_2.in)"
[22]159 echo " ${S}test.sh all${E} -- All tests"
160}
161scripts () {
[19]162 echo
[22]163 echo "Scripts used by tests:"
[19]164 echo " (1) testcompile.sh (2) testhash.sh (3) testrun_1.sh (4) testrun_1a.sh"
[22]165 echo " (5) testext.sh (6) testtimesrv.sh (7) testrun_1b.sh (8) testrun_1c.sh"
[128]166 echo " (9) testrun_1d.sh (10) testrun_1e.sh"
[68]167 echo " (20) testrun_2.sh (21) testrun_2a.sh (22) testrun_2b.sh (23) testrun_2c.sh"
168 echo " (24) testrun_2d.sh"
[19]169}
170
171#
172# Option parsing
173#
174verbose=
175quiet=
176stoponerr=
177color=auto
178cleanup=on
179doall=
[22]180usevalgrind=
[19]181
182while [ $# -gt 0 ]
183do
184 case "$1" in
185 -h|--help) usage; exit 0;;
[22]186 --scripts) usage; scripts; exit 0;;
[19]187 -v|--verbose) verbose=on; quiet= ;;
188 -q|--quiet) quiet=on; verbose= ;;
189 -s|--stoponerr) stoponerr=on;;
[68]190 -n|--no-cleanup) cleanup= ;;
[19]191 --really-all) doall=on;;
[22]192 --valgrind) usevalgrind=on;;
[19]193 --srcdir=*) TOP_SRCDIR=`echo $1 | sed s,--srcdir=,,`; export TOP_SRCDIR;;
194 --color=*)
195 arg=`echo $1 | sed s,--color=,,`
196 case $arg in
197 auto) ;;
198 never|none|no)
199 S=
200 R=
201 G=
202 B=
203 E=
204 ;;
205 always|yes)
206 S='[1;30m'
207 R=[31m
208 G=[32m
209 G=[36m
210 E=[m
211 ;;
212 *) echo "Invalid argument $1"; exit 1;;
213 esac
214 ;;
215 -*) echo "Invalid argument $1"; exit 1;;
216 *) break;;
217 esac
218 shift
219done
220
221export verbose
222export quiet
223export stoponerr
224export cleanup
225export doall
226export S; export R; export G; export B; export E;
227
[1]228SCRIPTDIR=.
229
[19]230#
231# 'make test' will copy the 'test' subdirectory and replace TEST_SRCDIR
232#
[1]233TEST_SRCDIR="XXXSRCXXX";
234if test "x${TOP_SRCDIR}" = x; then
235 # not within source tree, and not called with 'make testN'
236 if test -f "${TEST_SRCDIR}/src/samhain.c"; then
237 TOP_SRCDIR="${TEST_SRCDIR}"; export TOP_SRCDIR
238 if test -f test/testcompile.sh; then
239 SCRIPTDIR=test
240 fi
241 # not within source tree, not called by 'make', and in 'test' subdir
242 elif test -f "../${TEST_SRCDIR}/src/samhain.c"; then
243 cd ..
244 SCRIPTDIR=test
245 TOP_SRCDIR="${TEST_SRCDIR}"; export TOP_SRCDIR
246 # within source tree, and not called with 'make testN'
247 else
248 if test -f ../src/samhain.c; then
249 cd ..
250 SCRIPTDIR=test
251 TOP_SRCDIR=.
252 export TOP_SRCDIR
253 elif test -f ./src/samhain.c; then
254 SCRIPTDIR=test
255 TOP_SRCDIR=.
256 export TOP_SRCDIR
257 else
[19]258 echo "Please use --srcdir=DIR, where DIR should be the"
[1]259 echo "top directory in the samhain source tree."
260 exit 1
261 fi
262 fi
263else
[19]264 # called by make, or with --srcdir=TOP_SRCDIR
265 if test -f "${TOP_SRCDIR}/src/samhain.c"; then
266 SCRIPTDIR="${TOP_SRCDIR}/test"
267 elif test -f "../${TOP_SRCDIR}/src/samhain.c"; then
268 cd ..; SCRIPTDIR="${TOP_SRCDIR}/test"
[1]269 else
[19]270 echo "Please use --srcdir=DIR, where DIR should be the"
271 echo "top directory in the samhain source tree."
272 exit 1
[1]273 fi
274fi
275
276export SCRIPTDIR
277
278PW_DIR=`pwd`; export PW_DIR
[29]279
[19]280#
[29]281# group/world writeable will cause problems
[19]282#
[29]283chmod go-w .
[19]284#
[29]285#
286#
[128]287if test x$UID != x -a x$UID != x0; then
[19]288 TRUST="--with-trusted=0,2,$UID"
289else
[128]290 TRUST="--with-trusted=0,2,1000"
[19]291fi
292export TRUST
293#
294# find a good 'make'
295#
296MAKE=`which gmake`
297if test "x$?" = x1 ; then
[170]298 MAKE="make -s -j 3"
[19]299else
300 MAKE=`which gmake | sed -e "s%\([a-z:]\) .*%\1%g"`
301 if test "x$MAKE" = x; then
302 MAKE="make -s"
303 elif test "x$MAKE" = xno; then
304 MAKE="make -s"
305 else
306 if test "x$MAKE" = "xwhich:"; then
307 MAKE="make -s"
308 else
309 MAKE="gmake -s"
310 gmake -v >/dev/null 2>&1 || MAKE="make -s"
311 fi
312 fi
313fi
314export MAKE
[1]315
[19]316failcount=0
317okcount=0
318skipcount=0
319global_count=0
320last_count=0
321
322# args: #test, #total, status, optional msg
323log_msg ()
324{
325 if [ x"$COLUMNS" != x ]; then
326 TERMWIDTH=$COLUMNS
327 elif [ x"$COLS" != x ]; then
328 TERMWIDTH=$COLS
329 else
330 TERMWIDTH=80
331 fi
332 cols=66;
333 #
334 if [ $1 -eq 0 ]; then
335 msg=" ${4}"
336 else
337 if [ ${1} -eq 1 ]; then
338 global_count=${last_count}
339 fi
340 let "v = $1 + global_count" >/dev/null
341 last_count=${v}
342 dd=''; if [ $v -lt 10 ]; then dd=" "; fi
343 dt=''; if [ $2 -lt 10 ]; then dt=" "; fi
344 if [ -z "$4" ]; then
345 msg=" test ${dd}${v}/${dt}${2}"
346 else
347 msg=" test ${dd}${v}/${dt}${2} ${4}"
348 fi
349 fi
350 #
351 if [ x"$3" = xfailure ]; then
352 ccode=$R
353 elif [ x"$3" = xsuccess ]; then
354 ccode=$G
355 else
356 ccode=$B
357 fi
358 if [ -z "${R}" ]; then
359 echo " [${3}] ${msg}"
360 else
361 # len=${#...} is not bourne shell
362 # also, need to account for terminal control sequences
363 len=`echo "$msg" | awk '/1;30m/ { print length()-10; }; !/1;30m/ { print length();}'`
364 let "cols = cols - len" >/dev/null
[171]365 if [ $cols -ge 0 ]; then
366 moveto='['$cols'C'
367 echo "${msg}${moveto}${ccode}[${3}]${E}"
368 else
369 echo "${msg}${ccode}[${3}]${E}"
370 fi
[19]371 fi
372}
373
374log_fail () {
[68]375 [ -z "$quiet" ] && log_msg "$1" "$2" failure "$3";
[19]376 let "failcount = failcount + 1" >/dev/null;
377 test -z "$stoponerr" || exit 1;
378}
379log_ok () {
[68]380 [ -z "$quiet" ] && log_msg "$1" "$2" success "$3";
[19]381 let "okcount = okcount + 1" >/dev/null;
382}
383log_skip () {
[68]384 [ -z "$quiet" ] && log_msg "$1" "$2" skipped "$3";
[19]385 let "skipcount = skipcount + 1" >/dev/null;
386}
387
388log_msg_fail () { log_msg 0 0 failure "$1"; }
389log_msg_ok () { log_msg 0 0 success "$1"; }
390log_msg_skip () { log_msg 0 0 skipped "$1"; }
391
392log_start () {
393 if [ -z "$quiet" ]; then
394 echo;
395 echo "${S}__ START TEST ${1} __${E}";
396 echo;
397 fi
398}
399log_end () {
400 if [ -n "$verbose" ]; then
401 echo;
402 echo "${S}__ END TEST ${1} __${E}";
403 echo;
404 fi
405}
406
[51]407# This looks silly, but with solaris10/i386 on vmware,
408# 'sleep' occasionally does not sleep...
409
410one_sec_sleep () {
411 onesdate=`date`
412 onestest=0
413 while [ $onestest -eq 0 ]; do
414 sleep 1
415 twosdate=`date`
416 if [ "x$twosdate" = "x$onesdate" ]; then
417 onestest=0
418 else
419 onestest=1
420 fi
421 done
422}
423
424five_sec_sleep () {
425 for f in 1 2 3 4 5; do
426 one_sec_sleep
427 done
428}
429
[19]430do_cleanup () {
431 rm -f testrc_1.dyn
432 rm -f testrc_2
[27]433 rm -f testrc_22
[19]434 rm -f ./.samhain_file
435 rm -f ./.samhain_log*
[27]436 rm -f ./.samhain_lock*
[172]437 test -d testrun_testdata && chmod -f -R 0700 testrun_testdata
[22]438 test -d .quarantine && rm -rf .quarantine
439 rm -rf testrun_testdata
[19]440 rm -f test_log_db
441 rm -f test_log_prelude
[27]442 rm -f test_log_valgrind*
[22]443 rm -f test_log_yulectl
444 rm -f yule.html
[27]445 rm -f yule.html2
[171]446 rm -f test_dnmalloc
[19]447}
448
449print_summary ()
450{
[68]451 # let "gcount = okcount + skipcount + failcount" >/dev/null;
452 gcount=$MAXTEST;
453 let "failcount = gcount - okcount - skipcount" >/dev/null;
454
[19]455 [ -z "$quiet" ] && {
456 echo
457 echo "__ ${S}Tests: ${gcount} Ok: ${okcount} Skipped: ${skipcount} Failed: ${failcount}${E}"
458 }
459 if [ $failcount -eq 0 ]; then
460 [ -z "$quiet" ] && { echo "__ ${G}All tests passed successfully.${E}"; echo; }
461 elif [ $failcount -eq 1 ]; then
462 [ -z "$quiet" ] && { echo "__ ${R}There was 1 failure.${E}"; echo; }
463 else
464 [ -z "$quiet" ] && { echo "__ ${R}There were $failcount failures.${E}"; echo; }
465 fi
466 [ -z "$cleanup" ] || do_cleanup;
467}
468
469find_path () { (
470 save_IFS=$IFS; IFS=:
471
472 for dir in $PATH; do
473 IFS=$as_save_IFS
474 test -z "$dir" && dir=.
475 if test -f "$dir/$1"; then
476 echo "$dir/$1";
477 break;
478 fi
479 done
480 IFS=${save_IFS};
481); }
482
483find_hostname () {
484 tmp=`hostname -f 2>/dev/null`
485 if [ $? -ne 0 ]; then
486 tmp=`hostname 2>/dev/null`
487 fi
488 if [ -z "$tmp" ]; then
489 tmp="localhost"
490 fi
[30]491 #
492 # first one is hostname, others are aliases
493 #
494 tmp2=`cat /etc/hosts | egrep "^ *[0123456789].* $tmp" | awk '{ print $2 }'`
495 if [ -z "$tmp2" ]; then
496 echo "$tmp"
497 else
498 echo "$tmp2"
499 fi
[19]500}
501
502rm -f ./test_log
503
504# first one is hostname, others are aliases
505#
506hostname=`cat /etc/hosts | egrep "^ *127.0.0.1" | awk '{ print $2 }'`
507if [ x"$hostname" = xlocalhost ]; then
508 hostname="127.0.0.1"
509fi
510
[22]511# Seems that 'valgrind' causes random hangs :-(
512#
513if [ -z "$usevalgrind" ]; then
514 VALGRIND=
515else
516 VALGRIND=`find_path valgrind`;
517fi
518[ -z "$VALGRIND" ] || {
519 VALGRIND="$VALGRIND --quiet --tool=memcheck --suppressions=.test.supp";
520 export VALGRIND;
521 [ -z "$verbose" ] || log_msg_ok "using valgrind"
522cat > ".test.supp" <<End-of-data
523#
524# there are unitialized bytes in the struct...
525#
526{
527 pushdata_01
528 Memcheck:Param
529 write(buf)
530 obj:/lib/ld-*.so
531 fun:sh_hash_pushdata
532 fun:sh_files_filecheck
533 fun:sh_dirs_chk
534}
535{
536 pushdata_02
537 Memcheck:Param
538 write(buf)
539 obj:/lib/ld-*.so
540 fun:sh_hash_pushdata
541 fun:sh_files_filecheck
542 fun:sh_files_checkdir
543}
544{
545 pushdata_03
546 Memcheck:Param
547 write(buf)
548 obj:/lib/ld-*.so
549 fun:sh_hash_pushdata
550 fun:sh_hash_writeout
551 fun:main
552}
553
554End-of-data
555}
556
[1]557if test x$1 = x1; then
[19]558 . ${SCRIPTDIR}/testcompile.sh
559 testcompile
560 print_summary
561 exit $?
[1]562fi
563if test x$1 = x2; then
[19]564 . ${SCRIPTDIR}/testhash.sh
565 testhash
566 print_summary
567 exit $?
[1]568fi
569if test x$1 = x3; then
[19]570 . ${SCRIPTDIR}/testrun_1.sh
571 testrun1
572 print_summary
573 exit $?
[1]574fi
575if test x$1 = x4; then
[19]576 . ${SCRIPTDIR}/testrun_1.sh
577 . ${SCRIPTDIR}/testrun_1a.sh
578 testrun1a
579 print_summary
580 exit $?
[1]581fi
582if test x$1 = x5; then
[19]583 . ${SCRIPTDIR}/testext.sh
584 testext0
585 print_summary
586 exit $?
[1]587fi
588if test x$1 = x6; then
[19]589 . ${SCRIPTDIR}/testtimesrv.sh
590 testtime0
591 print_summary
592 exit $?
[1]593fi
594if test x$1 = x7; then
[19]595 . ${SCRIPTDIR}/testrun_1b.sh
596 testrun1b
597 print_summary
598 exit $?
[1]599fi
[22]600if test x$1 = x8; then
601 . ${SCRIPTDIR}/testrun_1.sh
602 . ${SCRIPTDIR}/testrun_1c.sh
603 testrun1c
604 print_summary
605 exit $?
606fi
[68]607if test x$1 = x9; then
608 . ${SCRIPTDIR}/testrun_1.sh
609 . ${SCRIPTDIR}/testrun_1d.sh
610 testrun1d
611 print_summary
612 exit $?
613fi
[1]614if test x$1 = x10; then
[68]615 . ${SCRIPTDIR}/testrun_1.sh
616 . ${SCRIPTDIR}/testrun_1e.sh
617 testrun1e
618 print_summary
619 exit $?
620fi
621if test x$1 = x20; then
[19]622 . ${SCRIPTDIR}/testrun_2.sh
623 testrun2 $hostname
624 print_summary
625 exit $?
[1]626fi
[68]627if test x$1 = x21; then
[19]628 . ${SCRIPTDIR}/testrun_2a.sh
629 testrun2a $hostname
630 print_summary
631 exit $?
[1]632fi
[68]633if test x$1 = x22; then
[19]634 . ${SCRIPTDIR}/testrun_2a.sh
635 . ${SCRIPTDIR}/testrun_2b.sh
636 testrun2b $hostname
637 print_summary
638 exit $?
[1]639fi
[68]640if test x$1 = x23; then
[19]641 . ${SCRIPTDIR}/testrun_2a.sh
642 . ${SCRIPTDIR}/testrun_2c.sh
643 testrun2c $hostname
644 print_summary
645 exit $?
[1]646fi
[68]647if test x$1 = x24; then
[19]648 . ${SCRIPTDIR}/testrun_2a.sh
649 . ${SCRIPTDIR}/testrun_2d.sh
650 testrun2d $hostname
651 print_summary
652 exit $?
[1]653fi
654if test x$1 = xall; then
[19]655 TEST_MAX=0
656 . ${SCRIPTDIR}/testcompile.sh
657 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
658 . ${SCRIPTDIR}/testhash.sh
659 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
660 . ${SCRIPTDIR}/testrun_1.sh
661 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
662 . ${SCRIPTDIR}/testrun_1a.sh
663 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
664 . ${SCRIPTDIR}/testext.sh
665 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
666 . ${SCRIPTDIR}/testtimesrv.sh
667 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
668 . ${SCRIPTDIR}/testrun_1b.sh
669 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
[22]670 . ${SCRIPTDIR}/testrun_1c.sh
671 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
[68]672 . ${SCRIPTDIR}/testrun_1d.sh
673 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
674 . ${SCRIPTDIR}/testrun_1e.sh
675 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
[19]676 . ${SCRIPTDIR}/testrun_2.sh
677 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
678 . ${SCRIPTDIR}/testrun_2a.sh
679 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
680 . ${SCRIPTDIR}/testrun_2b.sh
681 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
682 . ${SCRIPTDIR}/testrun_2c.sh
683 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
684 . ${SCRIPTDIR}/testrun_2d.sh
685 let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
686 #
687 # ${SCRIPTDIR}/testtimesrv.sh
688 # ${SCRIPTDIR}/testrun_1b.sh
689 # ${SCRIPTDIR}/testrun_2.sh $2
690 # ${SCRIPTDIR}/testrun_2a.sh $2
691 #
692 MAXTEST=${TEST_MAX}; export MAXTEST
693 testcompile
694 testhash
695 #
696 . ${SCRIPTDIR}/testrun_1.sh
697 MAXTEST=${TEST_MAX}; export MAXTEST
698 testrun1
699 #
700 . ${SCRIPTDIR}/testrun_1a.sh
701 MAXTEST=${TEST_MAX}; export MAXTEST
702 testrun1a
703 #
704 testext0
705 #
706 . ${SCRIPTDIR}/testtimesrv.sh
707 MAXTEST=${TEST_MAX}; export MAXTEST
708 testtime0
709 #
710 . ${SCRIPTDIR}/testrun_1b.sh
711 MAXTEST=${TEST_MAX}; export MAXTEST
712 testrun1b
713 #
[22]714 . ${SCRIPTDIR}/testrun_1.sh
715 . ${SCRIPTDIR}/testrun_1c.sh
716 MAXTEST=${TEST_MAX}; export MAXTEST
717 testrun1c
718 #
[68]719 . ${SCRIPTDIR}/testrun_1.sh
720 . ${SCRIPTDIR}/testrun_1d.sh
721 MAXTEST=${TEST_MAX}; export MAXTEST
722 testrun1d
723 #
724 . ${SCRIPTDIR}/testrun_1.sh
725 . ${SCRIPTDIR}/testrun_1e.sh
726 MAXTEST=${TEST_MAX}; export MAXTEST
727 testrun1e
728 #
[19]729 . ${SCRIPTDIR}/testrun_2.sh
730 MAXTEST=${TEST_MAX}; export MAXTEST
731 testrun2 $hostname
732 #
733 . ${SCRIPTDIR}/testrun_2a.sh
734 MAXTEST=${TEST_MAX}; export MAXTEST
735 testrun2a $hostname
736 #
737 . ${SCRIPTDIR}/testrun_2b.sh
738 MAXTEST=${TEST_MAX}; export MAXTEST
739 testrun2b $hostname
740 #
741 . ${SCRIPTDIR}/testrun_2c.sh
742 MAXTEST=${TEST_MAX}; export MAXTEST
743 testrun2c $hostname
744 #
745 . ${SCRIPTDIR}/testrun_2d.sh
746 MAXTEST=${TEST_MAX}; export MAXTEST
747 testrun2d $hostname
748 #
749 print_summary
750 exit 0
[1]751fi
752
[19]753usage;
[1]754
[19]755exit 1;
[1]756
[60]757# gpg -a --clearsign --not-dash-escaped testrc.gpg
758# gpg -a --clearsign --not-dash-escaped .samhain_file
759# tar czvf foo.tgz testrc.gpg.asc .samhain_file.asc
760# cat foo.tgz >>test/test.sh
761
[19]762__ARCHIVE_FOLLOWS__
[60]763‹£ÉúDí•ÏoãDÇœ UbN\'€‘8*Û:IӔJ‘pãÔ-›ŠùєBU!o2M
764þ‘z&éf/ˆ‚#§šgGâßa%7U$ĉHš‡U{àÚš
765ã$M¶Ûª‚.¬4Ù
766ϛ™÷Þ×3ž!39•Î€§dœänž2;3ã”.Ÿ—ïÕ]ýzïÕëóq.~Æ7ëqû\³
767môž<
768äo'q²˜È&„œ)+:2¯ê‡L|…
769Ÿ˜aù’p×a!(-‡aDŠÀø²Šp%
770R°×–dŒ3ãK‚
771„
772"ÒZ'å
[128]773JÍÃOŒ,ÔJAIÏF$H
774˜CŠ²‡dGÁPCËiØ1•ûY‚ðØVTäŸF$ ÀÛP74‘¬ªyši§ ¿iG(«š LgeS։ƒzGLÀŠd{ŠžéEgÀˆËi:K9%‰ðˆi‡ú­kIє‚9€“8r&ù-pþ– 
775x’ŸŽ™\㊒S«ºš·ž'4nœÈöo
776ËiÝ0QØÐÑžýâc]Ö_PUÿžlêCs?$ýT÷Ð(*&ö+ú¶1Ž„e:ý‘`“&³VdE=o¥ãušyhèÇÈcuÄÖë1•‹×6WœÜ¢Œ4C§ÝhTâä•ÜAÉ/Ö
777ù]nÞ1ÆP2kbÅÐCԁêwõŒ!ÃÈô:Íò †2†I³ª*"B„~ºF@Àñƒ³ÚÝ®ü=§Î
778®.npÉ
779Ö±Áâ]GœhóƒšsM¹§Œð])œ˜)zöÁ{(✾]
780NâUi—×òÂKùÔ'|ÄÇp4çÑøûá{Þ¹ð¯GCº›V–}ÑtE4w¬ðáXÄ÷0ê‘Ð
781ˆŠ)Xöÿ¶DU÷ †ÅËÒû¯n
782ËÚÝú>sþ[:®ÙÿÝ^Þ{ŸÿÏxœ^gÿ÷¹ÙþÿBx1ûÿO¿üÐùœý˜¯œ:žÃ
783œ_y>¬‰^ýËïOE§,>/G)ŒÀÑö7žîÑÑÙ³ú.µ>>é>ý£[p.®|Cèðýã³'à.(|u¹œ;ô.§&žý;ýú[?öÓÿî›øXù\9Žýfr
784ݧ…
785nÁ¹žN­Z­•ÊõÃÃfѶËõR§]Žª¥b»Ø²Ú
786ë°T¬5:õF±TkÚ­Ž]ÈÙÿíèôìôQÉ79î끚ǭŸ(øhŒ|®šÏÑš(»\Ž¬b«}xPjV«õZµa7êµJŲJ•r»b[Tfë VªÖ+TߏÎN®Ñ$Ñu‡?ì×OšÊߟ³à”’Œp¥&ÚïhjØ
787«ÒŽ«õN˲[Z³U/µ*õš]?,µ*öA£ZîXV¥n7;É:=îþùë“cg®žúrR ZþÅS\%c§ž7„{¢äâI`nÝ+
788ž‡©D@ÌMûB‰˜gÝéœEa-’^ú|7¢EgƒædFü8(íFdLOñɄ
789ûŸâ
790ƒÁ`0
791ƒÁ`0
792ƒÁ`0
793FŸ¿ès((
Note: See TracBrowser for help on using the repository browser.