diff --git a/.ert-runner b/.ert-runner deleted file mode 100644 index ec92c4a1..00000000 --- a/.ert-runner +++ /dev/null @@ -1,2 +0,0 @@ --L . ---quiet diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..810d6083 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,41 @@ +name: CI + +on: + push: + paths-ignore: + - '**.md' + pull_request: + paths-ignore: + - '**.md' + +jobs: + test: + name: mix test (Emacs ${{matrix.emacs_version}} | Elixir ${{matrix.elixir}} | Erlang/OTP ${{matrix.otp}}) + runs-on: ubuntu-latest + strategy: + matrix: + emacs_version: ['27.1', '26.3', '25.2'] + otp: ['21.3', '23.2'] + elixir: ['1.8.2', '1.11.4'] + + steps: + - name: Setup Emacs + uses: purcell/setup-emacs@master + with: + version: ${{matrix.emacs_version}} + + - name: Setup OTP + Elixir + uses: erlef/setup-elixir@v1 + with: + otp-version: ${{matrix.otp}} + elixir-version: ${{matrix.elixir}} + + - name: Install Eldev + run: curl -fsSL https://raw.github.com/doublep/eldev/master/webinstall/github-eldev | sh + + - name: Check out the source code + uses: actions/checkout@v2 + + - name: Test the project + run: | + eldev -p -dtT test diff --git a/.gitignore b/.gitignore index 8b647d60..79b089ee 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,9 @@ /.cask/ /dist/ *-emacs-elixir-format.ex +elixir-mode-autoloads.el + +# Added automatically by ‘eldev init’. +/.eldev +/Eldev-local + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 43777fc5..00000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: elixir -cache: apt -env: - - EVM_EMACS=24.3 - - EVM_EMACS=24.4 - - EVM_EMACS=24.5 - - EVM_EMACS=25.1 - - EVM_EMACS=25.2 -matrix: - include: - - elixir: 1.0.5 - otp_release: 17.4 - - elixir: 1.4.3 - otp_release: 19.0 - - elixir: 1.6.0 - otp_release: 20.1 -before_install: - - curl -fsSkL https://gist.githubusercontent.com/Trevoke/90409590f43abfd0d7fe3b02b5249849/raw > travis.sh && source ./travis.sh - - evm install emacs-$EVM_EMACS-travis --use --skip - - cask -install: - - cask install -script: - - cask exec ert-runner diff --git a/Cask b/Cask deleted file mode 100644 index 0015757c..00000000 --- a/Cask +++ /dev/null @@ -1,9 +0,0 @@ -(source gnu) -(source melpa) - -(package-file "elixir-mode.el") - -(files "*.el") - -(development - (depends-on "ert-runner")) diff --git a/Eldev b/Eldev new file mode 100644 index 00000000..0e7f75aa --- /dev/null +++ b/Eldev @@ -0,0 +1,11 @@ +; -*- mode: emacs-lisp; lexical-binding: t; no-byte-compile: t -*- + +;; Autodetermined by `eldev init'. +(eldev-use-package-archive 'melpa) + +(eldev-use-plugin 'autoloads) +(eldev-use-plugin 'undercover) + +(eldev-add-loading-roots 'test "tests") + +(eldev-add-extra-dependencies 'test 's) diff --git a/elixir-mode.el b/elixir-mode.el index 0d5f32f4..06dc1fde 100644 --- a/elixir-mode.el +++ b/elixir-mode.el @@ -11,7 +11,7 @@ ;; Created: Mon Nov 7 2011 ;; Keywords: languages elixir ;; Version: 2.4.0 -;; Package-Requires: ((emacs "24") (pkg-info "0.4")) +;; Package-Requires: ((emacs "25") (pkg-info "0.6")) ;; This file is not a part of GNU Emacs. diff --git a/test/elixir-format-test.el b/tests/elixir-format-test.el similarity index 98% rename from test/elixir-format-test.el rename to tests/elixir-format-test.el index 70645272..49b1a4a1 100644 --- a/test/elixir-format-test.el +++ b/tests/elixir-format-test.el @@ -1,6 +1,7 @@ ;;; elixir-format-test.el --- Basic tests for elixir-format ;;; Code: +(require 'test-helper) (ert-deftest elixir-format-indents-a-buffer () (when elixir-formatter-supported diff --git a/test/elixir-mode-font-test.el b/tests/elixir-mode-font-test.el similarity index 99% rename from test/elixir-mode-font-test.el rename to tests/elixir-mode-font-test.el index 1137a69b..1ca470e8 100644 --- a/test/elixir-mode-font-test.el +++ b/tests/elixir-mode-font-test.el @@ -7,6 +7,7 @@ ;; https://github.com/lunaryorn/puppet-mode/blob/master/test/puppet-mode-test.el ;;; Code: +(require 'test-helper) (defun elixir-test-face-at (pos &optional content) "Get the face at POS in CONTENT. diff --git a/test/elixir-mode-helper-test.el b/tests/elixir-mode-helper-test.el similarity index 99% rename from test/elixir-mode-helper-test.el rename to tests/elixir-mode-helper-test.el index 01959472..8dfd7249 100644 --- a/test/elixir-mode-helper-test.el +++ b/tests/elixir-mode-helper-test.el @@ -1,6 +1,7 @@ ;;; elixir-mode-helper-test.el --- Tests for helper functions ;;; Code: +(require 'test-helper) (ert-deftest check-if-currently-inside-heredoc () (should (with-temp-buffer diff --git a/test/elixir-mode-indentation-test.el b/tests/elixir-mode-indentation-test.el similarity index 99% rename from test/elixir-mode-indentation-test.el rename to tests/elixir-mode-indentation-test.el index 05d1751a..1a1c2aa3 100644 --- a/test/elixir-mode-indentation-test.el +++ b/tests/elixir-mode-indentation-test.el @@ -8,6 +8,7 @@ ;; passes. ;;; Code: +(require 'test-helper) (elixir-def-indentation-test indent-use-dot-module-newline (:tags '(indentation)) diff --git a/test/elixir-mode-moving-test.el b/tests/elixir-mode-moving-test.el similarity index 98% rename from test/elixir-mode-moving-test.el rename to tests/elixir-mode-moving-test.el index 42213e5c..0e2efddf 100644 --- a/test/elixir-mode-moving-test.el +++ b/tests/elixir-mode-moving-test.el @@ -1,6 +1,7 @@ ;;; elixir-mode-moving-test.el --- Tests for moving cursor functions ;;; Code: +(require 'test-helper) (ert-deftest beginning-of-defun () :tags '(moving) diff --git a/test/test-helper.el b/tests/test-helper.el similarity index 94% rename from test/test-helper.el rename to tests/test-helper.el index d108e721..6af0d0a9 100644 --- a/test/test-helper.el +++ b/tests/test-helper.el @@ -7,6 +7,7 @@ (require 'ert-x) ; `ert-with-test-buffer' (require 'cl-lib) ; `cl-defmacro' +(require 's) (message "Running tests on Emacs %s" emacs-version) @@ -62,10 +63,6 @@ (insert indented) (should (equal indented ,expected-output))))))) -(when (s-contains? "--win" (getenv "ERT_RUNNER_ARGS")) - (defun ert-runner/run-tests-batch-and-exit (selector) - (ert-run-tests-interactively selector))) - (setq elixir-format-elixir-path (executable-find "elixir")) (setq elixir-format-mix-path (executable-find "mix")) @@ -100,4 +97,5 @@ end") end ") +(provide 'test-helper) ;;; test-helper.el ends here