Add fixes for Fedora, improve waiting for stap
This patch fixes the execution of the test for Fedora. It also includes improved waiting for stap, which uses now active waiting instead of static sleep. Signed-off-by: Miroslav Vadkerti <mvadkert@redhat.com>
This commit is contained in:
parent
057642bf1e
commit
2e9ba6a554
2 changed files with 19 additions and 10 deletions
|
|
@ -54,7 +54,7 @@ $(METADATA): Makefile
|
|||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: ruby" >> $(METADATA)
|
||||
@echo "Requires: ruby ruby-doc ruby-libs systemtap grep" >> $(METADATA)
|
||||
@echo "Requires: ruby ruby-doc ruby-libs systemtap grep procps-ng" >> $(METADATA)
|
||||
@echo "Releases: RHEL6" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
|
|
|
|||
|
|
@ -27,15 +27,20 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include rhts environment
|
||||
. /usr/lib/beakerlib/beakerlib.sh
|
||||
. /usr/share/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGES=${PACKAGES:-ruby ruby-libs}
|
||||
if rlIsRHEL 7 && [ -z "$COLLECTIONS" ] ; then PACKAGES=$PACKAGES" ruby-doc" ; fi
|
||||
PACKAGES=${PACKAGES:-ruby ruby-libs rubypick}
|
||||
# in RHEL7 and later the stap file is in ruby-doc package
|
||||
if [ -z "$COLLECTIONS" ]; then
|
||||
if rlIsRHEL '>=7' || rlIsFedora; then
|
||||
PACKAGES=$PACKAGES" ruby-doc"
|
||||
fi
|
||||
fi
|
||||
REQUIRES=${REQUIRES:-}
|
||||
RUBY=${RUBY:-ruby}
|
||||
_STAP_FILE="`rpm -ql $PACKAGES | grep 'ruby-exercise.stp' 2>/dev/null`"
|
||||
_LOG_FILE="ruby.log"
|
||||
_SLEEP_TIME=120
|
||||
_STAP_OUT="stap-out.log"
|
||||
|
||||
# for ruby on RHEL7 and in collections
|
||||
PRINT="Kernel::printf"
|
||||
|
|
@ -44,7 +49,7 @@ rlJournalStart
|
|||
rlPhaseStartSetup
|
||||
rlAssertRpm --all
|
||||
rlAssertBinaryOrigin $RUBY
|
||||
rlAssertExists "${_STAP_FILE}"
|
||||
rlAssertExists "${_STAP_FILE}" || rlDie
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlRun "pushd ${TmpDir}"
|
||||
_LOG_FILE="${TmpDir}/${_LOG_FILE}"
|
||||
|
|
@ -56,11 +61,12 @@ rlJournalStart
|
|||
rlRun "rpm -ql $PACKAGES | grep 'stp' | grep 'tapset'" 0 "Checking tapset file"
|
||||
rlRun "rpm -ql $PACKAGES | grep 'stp' | grep 'doc'" 0 "Checking doc file"
|
||||
|
||||
rlRun "stap -v ${_STAP_FILE} 2>&1 >${_LOG_FILE} &" 0 "Running systemtap in background"
|
||||
rlRun "{ stap -v ${_STAP_FILE} -o ${_LOG_FILE} |& tee ${_STAP_OUT}; } &" 0 "Running systemtap in background"
|
||||
_STAP_PID=$!
|
||||
echo -e "--_STAP_PID--\n${_STAP_PID}" # info
|
||||
|
||||
rlRun "sleep ${_SLEEP_TIME}" 0 "Waiting \"${_SLEEP_TIME}\" seconds"
|
||||
# wait for systemtap to start
|
||||
rlWaitForCmd "grep 'starting run' ${_STAP_OUT}"
|
||||
|
||||
rlRun "$RUBY -e '1.0 + 9.0'" 0 "Running ruby interpreter: Float test"
|
||||
rlRun "$RUBY -e '[1, 2, 3].push(4)'" 0 "Running ruby interpreter: Array test"
|
||||
|
|
@ -69,16 +75,19 @@ rlJournalStart
|
|||
rlRun "$RUBY -e '\"abc\".slice!(\"c\")'" 0 "Running ruby interpreter: String test"
|
||||
rlRun "$RUBY -e '5.times { printf \"Ruby!\n\" }'" 0 "Running ruby interpreter: Cycle and print test"
|
||||
|
||||
# wait for all output
|
||||
rlRun "sleep 10" 0 "Waiting \"10\" seconds"
|
||||
|
||||
rlRun "kill ${_STAP_PID}" 0 "Terminating stap"
|
||||
sleep 1 # No Operation
|
||||
|
||||
echo -e "---ps-out--" && ps -e | grep stap # info
|
||||
rlRun "kill -s SIGKILL ${_STAP_PID}" 0,1 "Attempt killing stap"
|
||||
rlRun "killall stapio" 0,1 "Attempt killing all leftover stapios"
|
||||
rlRun "pkill stapio" 0,1 "Attempt killing all leftover stapios"
|
||||
echo -e "---ps-out--" && ps -e | grep stap # info
|
||||
|
||||
echo -e "---${_LOG_FILE}--" && cat ${_LOG_FILE} # info
|
||||
if rlIsRHEL '<7' && [ -z "$COLLECTIONS" ]
|
||||
if rlIsRHEL '<7' && [ -z "$COLLECTIONS" ]
|
||||
then
|
||||
rlRun "grep -q 'Float::+' ${_LOG_FILE}" 0 "Checking systemtap log: Float test"
|
||||
# for ruby on RHEL6
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue