ecc1ab705b
Previously it was looping, waiting for FINISHED|FAILED but was not
actually failing the test if the compose failed to build.
This adds a function to check the status of the compose and calls it
after each compose.
(cherry picked from commit d0e947fe3b
)
Related: rhbz#1724073
52 lines
1.3 KiB
Bash
Executable File
52 lines
1.3 KiB
Bash
Executable File
# Note: execute this file from the project root directory
|
|
|
|
#####
|
|
#
|
|
# Make sure a google compose can be built without errors
|
|
#
|
|
#####
|
|
|
|
set -e
|
|
|
|
. /usr/share/beakerlib/beakerlib.sh
|
|
. $(dirname $0)/lib/lib.sh
|
|
|
|
CLI="${CLI:-./src/bin/composer-cli}"
|
|
|
|
rlJournalStart
|
|
rlPhasStartTest "compose start"
|
|
rlAssertEquals "SELinux operates in enforcing mode" "$(getenforce)" "Enforcing"
|
|
UUID=`$CLI compose start example-http-server google`
|
|
rlAssertEquals "exit code should be zero" $? 0
|
|
|
|
UUID=`echo $UUID | cut -f 2 -d ' '`
|
|
rlPhaseEnd
|
|
|
|
rlPhaseStart "compose finished"
|
|
if [ -n "$UUID" ]; then
|
|
until $CLI compose info $UUID | grep 'FINISHED\|FAILED'; do
|
|
sleep 10
|
|
rlLogInfo "Waiting for compose to finish..."
|
|
done
|
|
check_compose_status "$UUID"
|
|
else
|
|
flFail "Compose UUID is empty!"
|
|
fi
|
|
rlPhaseEnd
|
|
|
|
rlPhaseStart "compose check"
|
|
$CLI compose image $UUID
|
|
rlAssertEquals "exit code should be zero" $? 0
|
|
|
|
fileList=$(gzip -cd "$UUID-disk.tar.gz" | tar tf -)
|
|
rlAssertEquals "archive should contain disk.raw" "$fileList" "disk.raw"
|
|
rlPhaseEnd
|
|
|
|
rlPhaseStartCleanup
|
|
rlRun "rm -rf $UUID-disk.tar.gz"
|
|
rlRun -t -c "$CLI compose delete $UUID"
|
|
rlPhaseEnd
|
|
|
|
rlJournalEnd
|
|
rlJournalPrintText
|