aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/emacs
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2018-10-01 17:04:03 +0200
committerDan Gudmundsson <[email protected]>2018-10-09 12:20:12 +0200
commitb7a6a4ba1c1d91146af44f9d83cb53486a852c9c (patch)
tree29a3833143ae2fef004f4ab924e99ed0a7dde6ce /lib/tools/emacs
parent8e938ab671bdcadbf6571426e045de7855a5b196 (diff)
downloadotp-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/Makefile1
-rwxr-xr-xlib/tools/emacs/test-erlang-mode110
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