PROJECT_DIR="$(pwd)"
SOURCE_DIR="$PROJECT_DIR/tests $PROJECT_DIR/src"
echo $SOURCE_DIR
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m'
function wait_for_change {
inotifywait -r -qq \
-e modify,move,create,delete \
$SOURCE_DIR
}
function cargo_build {
echo -e "\n$GREEN *** STARTING BUILD ***$NC"
cd $PROJECT_DIR; cargo build
if [ $? -eq 0 ]; then
echo -e "$GREEN *** BUILD COMPLETE ***$NC"
else
echo -e "$RED *** BUILD FAILED ***$NC"
fi
}
function cargo_test {
echo -e "\n$GREEN *** STARTING TEST ***$NC"
cd $PROJECT_DIR; cargo test
if [ $? -eq 0 ]; then
echo -e "$GREEN *** TEST COMPLETE ***$NC"
else
echo -e "$RED *** TEST FAILED ***$NC"
fi
}
cargo_build
while wait_for_change; do
if [[ "$1" == "-t" ]]; then
cargo_test
else
cargo_build
fi
done