devstack/tools/xen/mocks
Euan Harris 6f0017161f xenapi: Exit immediately if zipball download fails
If install_os_domU.sh fails to download the Xapi plugins zipball
correctly it ignores the error and continues the installation.
This could damage the hypervisor's filesystem, as it may delete
files or overwrite them with garbage.

Change-Id: I9f6dc31b977592e2818e37b2d310c2a5dc477364
Fixes: bug #1195640
2013-07-11 12:05:44 +01:00

89 lines
1.6 KiB
Bash

#!/bin/bash
test ! -e "$LIST_OF_ACTIONS" && {
echo "Mocking is not set up properly."
echo "LIST_OF_ACTIONS should point to an existing file."
exit 1
}
test ! -e "$LIST_OF_DIRECTORIES" && {
echo "Mocking is not set up properly."
echo "LIST_OF_DIRECTORIES should point to an existing file."
exit 1
}
test ! -e "$XE_RESPONSE" && {
echo "Mocking is not set up properly."
echo "XE_RESPONSE should point to an existing file."
exit 1
}
test ! -e "$XE_CALLS" && {
echo "Mocking is not set up properly."
echo "XE_CALLS should point to an existing file."
exit 1
}
function mktemp {
if test "${1:-}" = "-d";
then
echo "tempdir"
else
echo "tempfile"
fi
}
function wget {
if [[ $@ =~ "failurl" ]]; then
exit 1
fi
echo "wget $@" >> $LIST_OF_ACTIONS
}
function mkdir {
if test "${1:-}" = "-p";
then
echo "$2" >> $LIST_OF_DIRECTORIES
fi
}
function unzip {
echo "Random rubbish from unzip"
echo "unzip $@" >> $LIST_OF_ACTIONS
}
function rm {
echo "rm $@" >> $LIST_OF_ACTIONS
}
function ln {
echo "ln $@" >> $LIST_OF_ACTIONS
}
function [ {
if test "${1:-}" = "-d";
then
echo "[ $@" >> $LIST_OF_ACTIONS
for directory in $(cat $LIST_OF_DIRECTORIES)
do
if test "$directory" = "$2"
then
return 0
fi
done
return 1
fi
echo "Mock test does not implement the requested function"
exit 1
}
function xe {
cat $XE_RESPONSE
{
for i in $(seq "$#")
do
eval "echo \"\$$i\""
done
} >> $XE_CALLS
}