diff options
author | Dan Gudmundsson <[email protected]> | 2018-10-01 17:04:03 +0200 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2018-10-09 12:20:12 +0200 |
commit | b7a6a4ba1c1d91146af44f9d83cb53486a852c9c (patch) | |
tree | 29a3833143ae2fef004f4ab924e99ed0a7dde6ce /lib/tools/emacs | |
parent | 8e938ab671bdcadbf6571426e045de7855a5b196 (diff) | |
download | otp-b7a6a4ba1c1d91146af44f9d83cb53486a852c9c.tar.gz otp-b7a6a4ba1c1d91146af44f9d83cb53486a852c9c.tar.bz2 otp-b7a6a4ba1c1d91146af44f9d83cb53486a852c9c.zip |
Run emacs tests from test_suite
Drive emacs test from test_suite instead of bash script.
Diffstat (limited to 'lib/tools/emacs')
-rw-r--r-- | lib/tools/emacs/Makefile | 1 | ||||
-rwxr-xr-x | lib/tools/emacs/test-erlang-mode | 110 |
2 files changed, 1 insertions, 110 deletions
diff --git a/lib/tools/emacs/Makefile b/lib/tools/emacs/Makefile index ea4d6cb723..b7775d1c8c 100644 --- a/lib/tools/emacs/Makefile +++ b/lib/tools/emacs/Makefile @@ -46,6 +46,7 @@ EMACS_FILES= \ erlang-eunit \ erlang-edoc \ erlang-flymake \ + erlang-test \ erlang README_FILES= README diff --git a/lib/tools/emacs/test-erlang-mode b/lib/tools/emacs/test-erlang-mode deleted file mode 100755 index 2418d23c92..0000000000 --- a/lib/tools/emacs/test-erlang-mode +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/bash - -# Usage: test-erlang-mode [options] -# -# Basic test script for erlang.el -# -# Options: -# -f - Forgiving mode. Return success if no -# suitable emacs is found. -# - -invalid_emacs_rc=33 - -tmp=$(getopt --options hf --long help: -- "$@") || exit - -eval set -- $tmp - -while true -do - case "$1" in - -f) - invalid_emacs_rc=0 - shift;; - - --) - shift - break;; - - -h|--help) - echo - sed -nr '/^# Usage:/,/^$/ s/^# ?//p' "$0" - exit;; - esac -done - - -set -e - -cd $(dirname "$0") - -if ! type emacs &> /dev/null -then - echo "Skipping emacs test due to no emacs in PATH" - exit "$invalid_emacs_rc" -fi - -version="$(emacs --version | head -n1)" -version_number="${version#GNU Emacs }" -version_major="${version_number%%\.*}" - -echo "Emacs version $version" - -case "$version_major" in - [0-9][0-9]) - if [ "$version_major" -lt 24 ] - then - echo "Skipping emacs test due to too old emacs ($version_major)" - exit "$invalid_emacs_rc" - fi;; - *) - echo "Skipping emacs test due to unsupported emacs version ($version)" - exit "$invalid_emacs_rc";; -esac - -set -x - -# Test interpreted erlang-mode. -emacs -Q -batch -L . -l erlang.el -f erlang-mode - -# Compile everything except erldoc.el. -for el in *.el -do - [ "$el" = "erldoc.el" ] && continue - emacs -Q -batch -L . -f batch-byte-compile "$el" -done - -# Test compiled erlang-mode. -emacs -Q -batch -L . -l erlang.elc -f erlang-mode - -if [ "$version_major" -ge 25 ] -then - # Run unit tests in interpreted mode. - emacs -Q -batch -L . -l erlang.el -l erlang-test.el \ - -f ert-run-tests-batch-and-exit - - # Run unit tests in compiled mode. - emacs -Q -batch -L . -l erlang.elc -l erlang-test.elc \ - -f ert-run-tests-batch-and-exit - - # Compile erldoc which depends on cl-lib which was introduced in - # Emacs 25. - emacs -Q -batch -L . -f batch-byte-compile erldoc.el - - # Compile selected files again and this time do not accept any - # warnings. Add files here whenever they are cleaned of warnings. - if [ "$version_major" -ge 26 ] - then - unforgiving="(setq byte-compile-error-on-warn t)" - else - # Workaround byte-compile-error-on-warn which seem broken in - # Emacs 25. - unforgiving="(advice-add #'display-warning :after \ - (lambda (_ f _ _) (error \"%s\" f)))" - fi - for el in erlang.el erlang-test.el erlang-edoc.el \ - erlang-start.el erldoc.el - do - emacs -Q -batch -L . --eval "$unforgiving" -f batch-byte-compile "$el" - done -fi |