c261cec33d
We were checking for composer's FINISHED status only, which meant that when a compose failed, the test ran until it timed out. Check for failed as well. Also, always time out after 30 minutes.
51 lines
1.6 KiB
Bash
Executable File
51 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Note: execute this file from the project root directory
|
|
|
|
. /usr/share/beakerlib/beakerlib.sh
|
|
|
|
CLI="${CLI:-./src/bin/composer-cli}"
|
|
|
|
|
|
rlJournalStart
|
|
rlPhaseStartTest "compose types"
|
|
rlAssertEquals "lists all supported types" \
|
|
"`$CLI compose types | sort | xargs`" "alibaba ami ext4-filesystem google hyper-v live-iso openstack partitioned-disk qcow2 tar vhd vmdk"
|
|
rlPhaseEnd
|
|
|
|
rlPhaseStartTest "compose start"
|
|
UUID=`$CLI --test=2 compose start example-http-server tar`
|
|
rlAssertEquals "exit code should be zero" $? 0
|
|
|
|
UUID=`echo $UUID | cut -f 2 -d' '`
|
|
rlPhaseEnd
|
|
|
|
rlPhaseStartTest "compose info"
|
|
if [ -n "$UUID" ]; then
|
|
rlRun -t -c "$CLI compose info $UUID | egrep 'RUNNING|WAITING'"
|
|
else
|
|
rlFail "Compose UUID is empty!"
|
|
fi
|
|
rlPhaseEnd
|
|
|
|
rlPhaseStartTest "compose image"
|
|
if [ -n "$UUID" ]; then
|
|
until $CLI compose info $UUID | grep 'FINISHED\|FAILED'; do
|
|
sleep 5
|
|
rlLogInfo "Waiting for compose to finish ..."
|
|
done;
|
|
|
|
rlRun -t -c "$CLI compose image $UUID"
|
|
rlAssertExists "$UUID-root.tar.xz"
|
|
|
|
# because this path is listed in the documentation
|
|
rlAssertExists "/var/lib/lorax/composer/results/$UUID/"
|
|
rlAssertExists "/var/lib/lorax/composer/results/$UUID/root.tar.xz"
|
|
rlAssertNotDiffer "/var/lib/lorax/composer/results/$UUID/root.tar.xz" "$UUID-root.tar.xz"
|
|
else
|
|
rlFail "Compose UUID is empty!"
|
|
fi
|
|
rlPhaseEnd
|
|
|
|
rlJournalEnd
|
|
rlJournalPrintText
|