From b7a6a4ba1c1d91146af44f9d83cb53486a852c9c Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Mon, 1 Oct 2018 17:04:03 +0200 Subject: Run emacs tests from test_suite Drive emacs test from test_suite instead of bash script. --- lib/tools/emacs/Makefile | 1 + lib/tools/emacs/test-erlang-mode | 110 --------------------------------------- 2 files changed, 1 insertion(+), 110 deletions(-) delete mode 100755 lib/tools/emacs/test-erlang-mode (limited to 'lib/tools/emacs') 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 -- cgit v1.2.3