bgoncalv / rpms / bash

Forked from rpms/bash 6 years ago
Clone
Blob Blame History Raw
#!/bin/bash
# Include rhts and rhtslib environment
. /usr/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1

PACKAGES=${PACKAGES:-bash}
SH_BIN=${SH_BIN:-bash}

rlJournalStart

    rlPhaseStartSetup "Init phase"
        rlAssertRpm --all
        if [ $SH_BIN == "zsh" ]; then
                ZSH_OPT="-i"
        else
                ZSH_OPT=""
        fi
    rlPhaseEnd


    rlPhaseStartTest "Test of functions"
        rlRun "${SH_BIN} -c pwd" 0 "Checking if ${SH_BIN} do pwd command"
        rlRun "${SH_BIN} -c unexistcommand3241" 127 "Checking if ${SH_BIN} return 127 if command doesnt exist"
        rm /tmp/unexistfile &>/dev/null
        rlRun "${SH_BIN} -c 'ls /tmp/unexistfile'" 2 "Checking if ${SH_BIN} return 2 if none file"
        rlRun "${SH_BIN} -c 'echo aba| sed s/a/b/g |grep -q bbb'" 0 "Checking pipes"
        TT=`mktemp`
        TEXT=sometihngverylong
        rlRun "${SH_BIN} -c 'echo $TEXT > $TT; cat $TT |grep -q $TEXT'" 0 "Checking redirecting to file"
        rlRun " ${SH_BIN} -c 'let a=1+1;echo \$a|grep -q 2'" 0 "Checking 'let' arithmetic operation 1+1"
        rlRun "${SH_BIN} $ZSH_OPT -c 'sleep 100& WC=\$(jobs|wc -l) ; [[ \$WC -ge 1 ]]'" 0 "Checking process at background is running"

        USER=${SH_BIN}user
        rlRun "adduser -s /bin/${SH_BIN} $USER" 0,9 "Created user with ${SH_BIN} as default shell"
        rlRun "su -l $USER -c 'echo \$PATH'" 0 "Logged as previous created user and run echo PATH"
    rlPhaseEnd

    # cleanup
    rlPhaseStartCleanup "Cleaning up"
        rlRun "true" 0 "True action"
        rlRun "rm $TT" 0 "Checking delete of $TT"
        sleep 10
        rlRun "userdel $USER" 0 "Deleted user with ${SH_BIN} as default shell"
    rlPhaseEnd
rlJournalPrintText
rlJournalEnd