mirror of
https://github.com/correl/elm.git
synced 2024-11-15 19:19:31 +00:00
54e3017815
* Update exercises to elm-test 2.0 * Update docs to mention `elm-test` again * Update .travis.yml to the correct version of elm-test * Conform to the `<| \() ->` convention
50 lines
1.5 KiB
Bash
Executable file
50 lines
1.5 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
declare -i TEST_RESULT=0
|
|
FAILED_EXERCISES=''
|
|
|
|
for example_file in exercises/**/*.example
|
|
do
|
|
exercise_dir=$(dirname $example_file)
|
|
exercise=$(basename $example_file .example)
|
|
mv "$exercise_dir/$exercise.elm" "$exercise_dir/$exercise.impl"
|
|
mv "$exercise_dir/$exercise.example" "$exercise_dir/$exercise.elm"
|
|
echo '-------------------------------------------------------'
|
|
echo "Testing $exercise"
|
|
|
|
elm-package install
|
|
elm-test $exercise_dir/*Tests.elm
|
|
|
|
if [ $? -ne 0 ]; then
|
|
TEST_RESULT=1
|
|
FAILED_EXERCISES+="$exercise\n"
|
|
fi
|
|
|
|
if [ $WITH_FORMAT ]; then
|
|
elm-format $exercise_dir/*.elm --yes
|
|
fi
|
|
|
|
mv "$exercise_dir/$exercise.elm" "$exercise_dir/$exercise.example"
|
|
mv "$exercise_dir/$exercise.impl" "$exercise_dir/$exercise.elm"
|
|
done
|
|
|
|
if [ $TEST_RESULT -ne 0 ]; then
|
|
echo "The following exercises failed"
|
|
printf $FAILED_EXERCISES
|
|
exit $TEST_RESULT
|
|
fi
|
|
|
|
if [ $WITH_FORMAT ]; then
|
|
git diff --quiet --exit-code
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "*******************************************************************"
|
|
echo "*******************************************************************"
|
|
echo "**Git diff found - perhaps some of your changes are not formatted?*"
|
|
echo "** Please inspect the diffs before pushing. **"
|
|
echo "*******************************************************************"
|
|
echo "*******************************************************************"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|