Blame bin/run_tests_locally.sh
|
Theo Chatzimichos |
96429a |
#!/bin/bash
|
|
Theo Chatzimichos |
96429a |
|
|
Theo Chatzimichos |
96429a |
help() {
|
|
Theo Chatzimichos |
96429a |
echo "Runs all the tests on the user's workstation."
|
|
Theo Chatzimichos |
96429a |
echo "Needs to be run as normal user."
|
|
Theo Chatzimichos |
96429a |
echo
|
|
Theo Chatzimichos |
96429a |
echo "Arguments:"
|
|
Theo Chatzimichos |
96429a |
echo "-d <DESTINATION> Absolute path of the destination directory where the formulas are / should be cloned"
|
|
Theo Chatzimichos |
96429a |
echo
|
|
Theo Chatzimichos |
96429a |
}
|
|
Theo Chatzimichos |
96429a |
|
|
Theo Chatzimichos |
96429a |
[[ $(whoami) == 'root' ]] && help && exit 1
|
|
Theo Chatzimichos |
96429a |
|
|
Theo Chatzimichos |
96429a |
[[ $1 == '--help' ]] && help && exit
|
|
Theo Chatzimichos |
96429a |
|
|
Theo Chatzimichos |
96429a |
while getopts d:h arg; do
|
|
Theo Chatzimichos |
96429a |
case ${arg} in
|
|
Theo Chatzimichos |
96429a |
d) DESTINATION=${OPTARG} ;;
|
|
Theo Chatzimichos |
96429a |
h) help && exit ;;
|
|
Theo Chatzimichos |
96429a |
*) help && exit 1 ;;
|
|
Theo Chatzimichos |
96429a |
esac
|
|
Theo Chatzimichos |
96429a |
done
|
|
Theo Chatzimichos |
96429a |
|
|
Theo Chatzimichos |
96429a |
[[ -z $DESTINATION ]] && help && exit 1
|
|
Theo Chatzimichos |
96429a |
|
|
Theo Chatzimichos |
96429a |
SALT_DIRS=(
|
|
Theo Chatzimichos |
96429a |
/etc/salt
|
|
Theo Chatzimichos |
96429a |
/var/log/salt
|
|
Theo Chatzimichos |
96429a |
/var/cache/salt
|
|
Theo Chatzimichos |
96429a |
)
|
|
Theo Chatzimichos |
96429a |
|
|
Theo Chatzimichos |
b4fa0d |
# Prepare env
|
|
Theo Chatzimichos |
96429a |
for dir in ${SALT_DIRS[@]}; do
|
|
Theo Chatzimichos |
96429a |
sudo chown -R ${USER}: $dir
|
|
Theo Chatzimichos |
96429a |
done
|
|
Theo Chatzimichos |
042b5b |
bin/prepare_test_env.sh -g -s
|
|
Theo Chatzimichos |
042b5b |
bin/get_formulas.py --destination $DESTINATION --clone --symlink --update opensuse \
|
|
Theo Chatzimichos |
ee2abc |
--add-remote opensuse no_prefix gitlab@gitlab.infra.opensuse.org: saltstack-formulas
|
|
Theo Chatzimichos |
96429a |
ln -s ~/.gnupg /etc/salt/gpgkeys
|
|
Theo Chatzimichos |
b4fa0d |
|
|
Theo Chatzimichos |
b4fa0d |
# Run tests
|
|
Theo Chatzimichos |
96429a |
echo "Running against upstream formulas"
|
|
Theo Chatzimichos |
b4fa0d |
LC_ALL=C bin/test_validate.sh
|
|
Theo Chatzimichos |
96429a |
bin/get_formulas.py --destination $DESTINATION --checkout opensuse/production
|
|
Theo Chatzimichos |
96429a |
echo "Running against forked formulas"
|
|
Theo Chatzimichos |
96429a |
LC_ALL=C bin/test_show_highstate.sh
|
|
Theo Chatzimichos |
96429a |
|
|
Theo Chatzimichos |
96429a |
# Cleanup
|
|
Theo Chatzimichos |
96429a |
bin/get_formulas.py --destination $DESTINATION --remove-symlinks --checkout origin/master
|
|
Theo Chatzimichos |
96429a |
for dir in ${SALT_DIRS[@]}; do
|
|
Theo Chatzimichos |
96429a |
sudo chown -R root: $dir
|
|
Theo Chatzimichos |
96429a |
done
|
|
Theo Chatzimichos |
96429a |
sudo rm /srv/{salt,pillar} /etc/salt/{grains,gpgkeys}
|
|
Theo Chatzimichos |
96429a |
sudo mkdir /srv/{salt,pillar}
|
|
Theo Chatzimichos |
96429a |
ID=$(hostname -f)
|
|
Theo Chatzimichos |
96429a |
rm pillar/id/${ID//./_}.sls
|