#!/bin/bash
VAGRANT_FOLDER="./tests/Acceptance/Vagrant"
if [ $# -gt 0 ]; then
# Spin up given development environment
if [ "$1" == "up" ]; then
cd "$VAGRANT_FOLDER/$2" && \
shift 2 && \
VALET_ENVIRONMENT=development vagrant up "$@"
# SSH into the given development environment
elif [ "$1" == "ssh" ]; then
cd "$VAGRANT_FOLDER/$2" && \
shift 2 && \
vagrant ssh "$@"
# Switch off given development environment
elif [ "$1" == "down" ]; then
cd "$VAGRANT_FOLDER/$2" && \
shift 2 && \
vagrant halt "$@"
# Destroy given development environment
elif [ "$1" == "destroy" ]; then
cd "$VAGRANT_FOLDER/$2" && \
shift 2 && \
vagrant destroy "$@"
# Destroy all development environments
elif [ "$1" == "destroy-all" ]; then
for DIRECTORY in `find $VAGRANT_FOLDER -maxdepth 1 -type d`; do
if [[ "$DIRECTORY" != $VAGRANT_FOLDER ]]; then
./develop destroy ${DIRECTORY##*/} -f
fi
done
# Run Acceptance tests against given environment
elif [ "$1" == "test" ]; then
./develop up $2 && \
./develop ssh $2 --command "bash ~/cpriego-valet-linux/tests/Acceptance/vagrant.sh"
# Run Acceptance tests against ALL environments
elif [ "$1" == "test-all" ]; then
for DIRECTORY in `find $VAGRANT_FOLDER -maxdepth 1 -type d`; do
if [[ "$DIRECTORY" != $VAGRANT_FOLDER ]]; then
echo -e "\033[44m ${DIRECTORY##*/} \033[0m"
./develop test ${DIRECTORY##*/} && \
./develop down ${DIRECTORY##*/}
fi
done
# Run Acceptance tests against ALL environments in parallel
elif [ "$1" == "test-all-parallel" ]; then
for DIRECTORY in `find $VAGRANT_FOLDER -maxdepth 1 -type d`; do
if [[ "$DIRECTORY" != $VAGRANT_FOLDER ]]; then
gnome-terminal --tab \
--command="bash -c \"./develop test ${DIRECTORY##*/} && ./develop down ${DIRECTORY##*/}; read\""
fi
done
fi
else
# Display usage
echo -e "Usage: ./develop [action] [arguments]\n"
echo -e "Available actions:"
# ./develop up {OS_NAME}
echo -e "\tup {OS_NAME}"
echo -e "\t\tSpin up a development environment using vagrant and SSH into it."
echo -e -n "\t\tAvailable OSes: "
for DIRECTORY in `find $VAGRANT_FOLDER -maxdepth 1 -type d`; do
if [[ "$DIRECTORY" != $VAGRANT_FOLDER ]]; then
echo -e -n "${DIRECTORY##*/} "
fi
done
echo
# ./develop ssh {OS_NAME}
echo -e "\tssh {OS_NAME}"
echo -e "\t\tSSH into the given development environment."
# ./develop down {OS_NAME}
echo -e "\tdown {OS_NAME}"
echo -e "\t\tSwitch off given development environment. This does NOT destroy the box."
# ./develop destroy {OS_NAME}
echo -e "\tdestroy {OS_NAME}"
echo -e "\t\tDestroy given development environment."
# ./develop destroy-all
echo -e "\tdestroy-all"
echo -e "\t\tDestroy all development environments."
# ./develop test {OS_NAME}
echo -e "\ttest {OS_NAME}"
echo -e "\t\tRun Acceptance tests against a given OS."
# ./develop test-all
echo -e "\ttest-all"
echo -e "\t\tRun Acceptance tests against ALL OSes."
# ./develop test-all-parallel
echo -e "\ttest-all-parallel"
echo -e "\t\tRun Acceptance tests against ALL OSes in parellel. Requires gnome-terminal."
fi
|