Changeset 68 for trunk/test


Ignore:
Timestamp:
Oct 30, 2006, 12:03:44 AM (18 years ago)
Author:
rainer
Message:

Update trunk to samhain 2.3

Location:
trunk/test
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/test.sh

    r60 r68  
    138138usage() {
    139139    echo "test.sh [options] <test_number> [hostname]"
    140     echo "        [-q|--quiet|-v|--verbose] [-s|--stoponerr] [--no-cleanup]"
     140    echo "        [-q|--quiet|-v|--verbose] [-s|--stoponerr] [-n|--no-cleanup]"
    141141    echo "        [--srcdir=top_srcdir] [--color=always|never|auto]"
    142142    echo
     
    149149    echo "  ${S}test.sh  7${E}  -- GnuPG signed files / prelude log"
    150150    echo "  ${S}test.sh  8${E}  -- Suidcheck"
    151 
    152     echo "  ${S}test.sh 10${E}  -- Test c/s init/check      (testrc_2.in)"
    153     echo "  ${S}test.sh 11${E}  -- Test full c/s init/check (testrc_2.in)"
    154     echo "  ${S}test.sh 12${E}  -- Test full c/s w/gpg      (testrc_2.in)"
    155     echo "  ${S}test.sh 13${E}  -- Test full c/s w/mysql    (testrc_2.in)"
    156     echo "  ${S}test.sh 14${E}  -- Test full c/s w/postgres (testrc_2.in)"
     151    echo "  ${S}test.sh  9${E}  -- Process check"
     152    echo "  ${S}test.sh 10${E}  -- Port check"
     153
     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)"
    157159    echo "  ${S}test.sh all${E} -- All tests"
    158160}
     
    162164    echo "  (1) testcompile.sh (2) testhash.sh     (3) testrun_1.sh   (4) testrun_1a.sh"
    163165    echo "  (5) testext.sh     (6) testtimesrv.sh  (7) testrun_1b.sh  (8) testrun_1c.sh"
    164     echo " (10) testrun_2.sh  (11) testrun_2a.sh  (12) testrun_2b.sh (13) testrun_2c.sh"
    165     echo " (14) testrun_2d.sh"
     166    echo "  (9) testrun_1d.sh"
     167    echo " (20) testrun_2.sh  (21) testrun_2a.sh  (22) testrun_2b.sh (23) testrun_2c.sh"
     168    echo " (24) testrun_2d.sh"
    166169}
    167170
     
    185188        -q|--quiet)    quiet=on; verbose= ;;
    186189        -s|--stoponerr)     stoponerr=on;;
    187         --no-cleanup) cleanup= ;;
     190        -n|--no-cleanup) cleanup= ;;
    188191        --really-all) doall=on;;
    189192        --valgrind) usevalgrind=on;;
     
    366369
    367370log_fail () {
    368     log_msg "$1" "$2" failure "$3";
     371    [ -z "$quiet" ] && log_msg "$1" "$2" failure "$3";
    369372    let "failcount = failcount + 1" >/dev/null;
    370373    test -z "$stoponerr" || exit 1;
    371374}
    372375log_ok ()   {
    373     log_msg "$1" "$2" success "$3";
     376    [ -z "$quiet" ] && log_msg "$1" "$2" success "$3";
    374377    let "okcount = okcount + 1" >/dev/null;
    375378}
    376379log_skip () {
    377     log_msg "$1" "$2" skipped "$3";
     380    [ -z "$quiet" ] && log_msg "$1" "$2" skipped "$3";
    378381    let "skipcount = skipcount + 1" >/dev/null;
    379382}
     
    441444print_summary ()
    442445{
    443     let "gcount = okcount + skipcount + failcount" >/dev/null;
     446    # let "gcount = okcount + skipcount + failcount" >/dev/null;
     447    gcount=$MAXTEST;
     448    let "failcount = gcount - okcount - skipcount" >/dev/null;
     449
    444450    [ -z "$quiet" ] && {
    445451        echo
     
    594600    exit $?
    595601fi
     602if test x$1 = x9; then
     603    . ${SCRIPTDIR}/testrun_1.sh
     604    . ${SCRIPTDIR}/testrun_1d.sh
     605    testrun1d
     606    print_summary
     607    exit $?
     608fi
    596609if test x$1 = x10; then
     610    . ${SCRIPTDIR}/testrun_1.sh
     611    . ${SCRIPTDIR}/testrun_1e.sh
     612    testrun1e
     613    print_summary
     614    exit $?
     615fi
     616if test x$1 = x20; then
    597617    . ${SCRIPTDIR}/testrun_2.sh
    598618    testrun2 $hostname
     
    600620    exit $?
    601621fi
    602 if test x$1 = x11; then
     622if test x$1 = x21; then
    603623    . ${SCRIPTDIR}/testrun_2a.sh
    604624    testrun2a $hostname
     
    606626    exit $?
    607627fi
    608 if test x$1 = x12; then
     628if test x$1 = x22; then
    609629    . ${SCRIPTDIR}/testrun_2a.sh
    610630    . ${SCRIPTDIR}/testrun_2b.sh
     
    613633    exit $?
    614634fi
    615 if test x$1 = x13; then
     635if test x$1 = x23; then
    616636    . ${SCRIPTDIR}/testrun_2a.sh
    617637    . ${SCRIPTDIR}/testrun_2c.sh
     
    620640    exit $?
    621641fi
    622 if test x$1 = x14; then
     642if test x$1 = x24; then
    623643    . ${SCRIPTDIR}/testrun_2a.sh
    624644    . ${SCRIPTDIR}/testrun_2d.sh
     
    644664    let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
    645665    . ${SCRIPTDIR}/testrun_1c.sh
     666    let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
     667    . ${SCRIPTDIR}/testrun_1d.sh
     668    let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
     669    . ${SCRIPTDIR}/testrun_1e.sh
    646670    let "TEST_MAX = TEST_MAX + MAXTEST" >/dev/null
    647671    . ${SCRIPTDIR}/testrun_2.sh
     
    687711    MAXTEST=${TEST_MAX}; export MAXTEST
    688712    testrun1c
     713    #
     714    . ${SCRIPTDIR}/testrun_1.sh
     715    . ${SCRIPTDIR}/testrun_1d.sh
     716    MAXTEST=${TEST_MAX}; export MAXTEST
     717    testrun1d
     718    #
     719    . ${SCRIPTDIR}/testrun_1.sh
     720    . ${SCRIPTDIR}/testrun_1e.sh
     721    MAXTEST=${TEST_MAX}; export MAXTEST
     722    testrun1e
    689723    #
    690724    . ${SCRIPTDIR}/testrun_2.sh
  • trunk/test/testcompile.sh

    r54 r68  
    2020#
    2121
    22 MAXTEST=61; export MAXTEST
     22MAXTEST=63; export MAXTEST
    2323
    2424run_flawfinder ()
     
    164164        # test standalone compilation
    165165        #
    166         TEST="${S}standalone w/suidcheck${E}"
     166        TEST="${S}standalone w/suidcheck w/processcheck${E}"
    167167        #
    168168        if test -r "Makefile"; then
     
    170170        fi
    171171        #
    172         ${TOP_SRCDIR}/configure --quiet  --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/samhainrc.test  --enable-suidcheck > /dev/null 2>> test_log
     172        ${TOP_SRCDIR}/configure --quiet  --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/samhainrc.test  --enable-suidcheck --enable-process-check > /dev/null 2>> test_log
     173        #
     174        let "num = num + 1" >/dev/null
     175        testmake $? $num || let "numfail = numfail + 1"  >/dev/null
     176        let "num = num + 1" >/dev/null
     177        run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null
     178
     179        #
     180        # test standalone compilation
     181        #
     182        TEST="${S}standalone w/processcheck w/portcheck${E}"
     183        #
     184        if test -r "Makefile"; then
     185                $MAKE distclean
     186        fi
     187        #
     188        ${TOP_SRCDIR}/configure --quiet  --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/samhainrc.test  --enable-process-check --enable-port-check > /dev/null 2>> test_log
    173189        #
    174190        let "num = num + 1" >/dev/null
  • trunk/test/testrun_1.sh

    r51 r68  
    4141testrun1_setup=0
    4242
    43 MAXTEST=11; export MAXTEST
     43MAXTEST=13; export MAXTEST
    4444
    4545test_dirs () {
     
    7070# combine file check schedule with one-shot mode
    7171#
    72 TESTPOLICY_11="
     72TESTPOLICY_13="
    7373[ReadOnly]
    7474dir=99${BASE}
    7575"
    7676
    77 mod_testdata_11 () {
     77mod_testdata_13 () {
    7878    one_sec_sleep
    7979    echo "foobar" >"${BASE}/c/x"; # bad
     
    8787}
    8888
    89 chk_testdata_11 () {
     89chk_testdata_13 () {
    9090    # CDIRS="a b c a/a a/b a/c a/a/a a/a/b a/a/c a/a/a/a a/a/a/b a/a/a/c";
    9191    tmp=`grep CRIT $LOGFILE | wc -l`
     
    110110}
    111111
    112 TESTPOLICY_10="
     112TESTPOLICY_12="
    113113[ReadOnly]
    114114dir=99${BASE}
     
    119119"
    120120
    121 mod_testdata_10 () {
     121mod_testdata_12 () {
    122122    one_sec_sleep
    123123    echo "foobar" >"${BASE}/b/x"; # ok
     
    129129}
    130130
     131chk_testdata_12 () {
     132    # CDIRS="a b c a/a a/b a/c a/a/a a/a/b a/a/c a/a/a/a a/a/a/b a/a/a/c";
     133    tmp=`grep CRIT $LOGFILE | wc -l`
     134    if [ $tmp -ne 3 ]; then
     135        [ -z "$verbose" ] || log_msg_fail "policy count";
     136        return 1
     137    fi
     138    egrep "CRIT.*POLICY \[ReadOnly\] C-------TS.*${BASE}/c/x" $LOGFILE >/dev/null 2>&1
     139    if [ $? -ne 0 ]; then
     140        [ -z "$verbose" ] || log_msg_fail "${BASE}/c/x";
     141        return 1
     142    fi
     143    egrep "CRIT.*POLICY \[Attributes\] -----M----.*${BASE}/a/a/x" $LOGFILE >/dev/null 2>&1
     144    if [ $? -ne 0 ]; then
     145        [ -z "$verbose" ] || log_msg_fail "${BASE}/a/a/x";
     146        return 1
     147    fi
     148    egrep "CRIT.*POLICY \[Attributes\] -----M----.*${BASE}/a/y" $LOGFILE >/dev/null 2>&1
     149    if [ $? -ne 0 ]; then
     150        [ -z "$verbose" ] || log_msg_fail "${BASE}/a/y";
     151        return 1
     152    fi
     153    CDIRS="a a/a a/b a/c c";
     154    NDIRS="b a/a/a a/a/b a/a/c a/a/a/a a/a/a/b a/a/a/c";
     155    test_dirs;
     156    return $?
     157}
     158
     159#
     160# --- ACL/SELinux test case
     161#
     162TESTPOLICY_11="
     163[ReadOnly]
     164dir=99${BASE}
     165[IgnoreAll]
     166dir=-1${BASE}/b
     167[Attributes]
     168dir=1${BASE}/a
     169[Misc]
     170UseSelinuxCheck = no
     171UseAclCheck = no
     172"
     173
     174mod_testdata_11 () {
     175    one_sec_sleep
     176    setfacl -m 'user:nobody:r--' "${BASE}/b/x"; # ok (ign)
     177    setfacl -m 'user:nobody:r--' "${BASE}/c/x"; # bad
     178    setfacl -m 'user:nobody:r--' "${BASE}/a/x"; # bad
     179    setfattr -n 'security.selinux' -v "system_u:object_r:etc_t\000" "${BASE}/b/y";    # ok (ign)
     180    setfattr -n 'security.selinux' -v "system_u:object_r:etc_t\000" "${BASE}/a/a/a/x";# ok (depth)
     181    setfattr -n 'security.selinux' -v "system_u:object_r:etc_t\000" "${BASE}/a/x";    # bad
     182    setfattr -n 'security.selinux' -v "system_u:object_r:etc_t\000" "${BASE}/a/y";    # bad
     183}
     184
     185chk_testdata_11 () {
     186    # CDIRS="a b c a/a a/b a/c a/a/a a/a/b a/a/c a/a/a/a a/a/a/b a/a/a/c";
     187    tmp=`grep CRIT $LOGFILE | wc -l`
     188    if [ $tmp -ne 1 ]; then
     189        [ -z "$verbose" ] || log_msg_fail "policy count";
     190        return 1
     191    fi
     192    egrep "CRIT.*POLICY \[ReadOnly\] --------T-.*${BASE}/c/x" $LOGFILE >/dev/null 2>&1
     193    if [ $? -ne 0 ]; then
     194        [ -z "$verbose" ] || log_msg_fail "${BASE}/c/x";
     195        return 1
     196    fi
     197    CDIRS="a a/a a/b a/c c";
     198    NDIRS="b a/a/a a/a/b a/a/c a/a/a/a a/a/a/b a/a/a/c";
     199    test_dirs;
     200    return $?
     201}
     202
     203TESTPOLICY_10="
     204[ReadOnly]
     205dir=99${BASE}
     206[IgnoreAll]
     207dir=-1${BASE}/b
     208[Attributes]
     209dir=1${BASE}/a
     210"
     211
     212mod_testdata_10 () {
     213    one_sec_sleep
     214    setfacl -m 'user:nobody:r--' "${BASE}/b/x"; # ok (ign)
     215    setfacl -m 'user:nobody:r--' "${BASE}/c/x"; # bad
     216    setfacl -m 'user:nobody:r--' "${BASE}/a/x"; # bad
     217    setfattr -n 'security.selinux' -v "system_u:object_r:etc_t\000" "${BASE}/b/y";    # ok (ign)
     218    setfattr -n 'security.selinux' -v "system_u:object_r:etc_t\000" "${BASE}/a/a/a/x";# ok (depth)
     219    setfattr -n 'security.selinux' -v "system_u:object_r:etc_t\000" "${BASE}/a/x";    # bad
     220    setfattr -n 'security.selinux' -v "system_u:object_r:etc_t\000" "${BASE}/a/y";    # bad
     221}
     222
    131223chk_testdata_10 () {
    132224    # CDIRS="a b c a/a a/b a/c a/a/a a/a/b a/a/c a/a/a/a a/a/a/b a/a/a/c";
     
    136228        return 1
    137229    fi
    138     egrep "CRIT.*POLICY \[ReadOnly\] C-------TS.*${BASE}/c/x" $LOGFILE >/dev/null 2>&1
     230    egrep "CRIT.*POLICY \[ReadOnly\] -----M--T-.*${BASE}/c/x" $LOGFILE >/dev/null 2>&1
    139231    if [ $? -ne 0 ]; then
    140232        [ -z "$verbose" ] || log_msg_fail "${BASE}/c/x";
    141233        return 1
    142234    fi
    143     egrep "CRIT.*POLICY \[Attributes\] -----M----.*${BASE}/a/a/x" $LOGFILE >/dev/null 2>&1
    144     if [ $? -ne 0 ]; then
    145         [ -z "$verbose" ] || log_msg_fail "${BASE}/a/a/x";
     235    egrep "CRIT.*POLICY \[Attributes\] -----M----.*${BASE}/a/x" $LOGFILE >/dev/null 2>&1
     236    if [ $? -ne 0 ]; then
     237        [ -z "$verbose" ] || log_msg_fail "${BASE}/a/x";
    146238        return 1
    147239    fi
     
    825917run_check ()
    826918{
    827     ${VALGRIND} ./samhain -t check -p none -l debug 2>>test_log_valgrind
    828 
     919     ${VALGRIND} ./samhain -t check -p none -l debug 2>>test_log_valgrind
     920 
    829921    if test x$? = x0; then
     922
    830923        ./samhain -j -L $LOGFILE >"${LOGFILE}.tmp" && mv "${LOGFILE}.tmp" "${LOGFILE}"
     924
    831925        if [ $? -ne 0 ]; then
    832926            [ -z "$quiet" ]   && log_msg_fail  "mv logfile...";
     
    9271021{
    9281022    if [ $1 -ne 0 ]; then
    929         [ -z "$quiet" ] && log_fail ${2} ${MAXTEST};
     1023        log_fail ${2} ${MAXTEST};
    9301024        return 1
    9311025    fi
     
    10121106              [ -z "$quiet" ] && log_ok ${tcount} ${MAXTEST};
    10131107          fi
     1108          #
    10141109          let "tcount = tcount + 1" >/dev/null
     1110          #
     1111          if [ -z "$doall" -a $tcount -eq 10 ]; then
     1112              log_skip 10 $MAXTEST 'ACL/SELinux test (or use --really-all)'
     1113              let "tcount = tcount + 1" >/dev/null
     1114          fi
     1115          #
     1116          if [ -z "$doall" -a $tcount -eq 11 ]; then
     1117              log_skip 11 $MAXTEST 'ACL/SELinux test (or use --really-all)'
     1118              let "tcount = tcount + 1" >/dev/null
     1119          fi
     1120          #
    10151121          POLICY=`eval echo '"$'"TESTPOLICY_$tcount"'"'`
    10161122        done
Note: See TracChangeset for help on using the changeset viewer.