This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/.travisci/test.sh
2017-08-18 22:12:06 +03:00

93 lines
2.6 KiB
Bash
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
## Run script for Travis CI integration
##
## Copyright (c) 2012-2014 Sylvain Benner
## Copyright (c) 2014-2017 Sylvain Benner & Contributors
##
## Author: Eugene Yaremenko
## URL: https://github.com/syl20bnr/spacemacs
##
## This file is not part of GNU Emacs.
##
## License: GPLv3
if [ $USER != "travis" ]; then
echo "This script is not designed to run locally."
echo "Instead, navigate to the appropriate test folder and run make there."
exit 1
fi
# Make sure that PR doesn't target master branch
if [ $TRAVIS_SECURE_ENV_VARS = false ] &&
[ $TRAVIS_PULL_REQUEST != false ] &&
[ "$TRAVIS_BRANCH" = "master" ]; then
printf '=%.0s' {1..70}
printf "\n し(*・∀・) Thanks for the contribution! (・∀・*)\n"
printf '=%.0s' {1..70}
printf "\n( ^◡^)っ Please submit your PR against the develop branch.\n"
echo "You can read the contribution guidelines at:"
echo "https://github.com/syl20bnr/spacemacs/blob/develop/CONTRIBUTING.org"
exit 1
fi
rm -rf ~/.emacs.d
mv "${TRAVIS_BUILD_DIR}" ~/.emacs.d
ln -sf ~/.emacs.d "${TRAVIS_BUILD_DIR}"
cd ~/.emacs.d
echo "Pwd $(pwd)"
echo_headline () {
printf '=%.0s' {1..70}
printf "\n$1\n"
printf '=%.0s' {1..70}
echo
}
if [ ! -z "$TESTS" ]; then
for test in "${TESTS[@]}"; do
rm -rf ~/.emacs.d/elpa
rm -rf ~/.emacs.d/.cache
rm -f ~/.spacemacs
testdir=~/.emacs.d/tests/$test
echo_headline "Running '$test' in '$testdir' folder"
if [ -f $testdir/dotspacemacs.el ]; then
cp $testdir/dotspacemacs.el ~/.spacemacs
fi
cd $testdir && echo "Now in $(pwd)"
make test || exit 2
done
elif [ ! -z "$FORMAT" ]; then
echo_headline "Formatting documentation with core/tools/docfmt"
emacs --batch -l ./core/tools/docfmt/run.el
if [ $? -ne 0 ]; then
echo "core/tools/docfmt failed"
exit 2
fi
git diff --color HEAD > /tmp/spacefmt_result
if [[ -s /tmp/spacefmt_result ]]; then
echo_headline "PLEASE APPLY CHANGES BELOW:"
cat /tmp/spacefmt_result
exit 2
fi
echo "Done."
echo_headline "Formatting documentation with core/tools/export"
emacs --batch -l ./core/tools/export/run.el export
if [ $? -ne 0 ]; then
echo "core/tools/export failed"
exit 2
fi
echo "Done."
echo_headline "Checking for misplaced spaces and tabs."
git diff --check --color > /tmp/space_test_result
if [[ -s /tmp/space_test_result ]]; then
echo_headline "PLEASE FIX ISSUES BELOW:"
cat /tmp/space_test_result
exit 2
fi
echo "Done."
fi
rm -rf /tmp/*