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/tests/core/core-configuration-layer-ftest.el
JAremko a915c95226 Disable broken spacelpa tests
So we can have gree PR page for once..
2020-12-06 07:02:04 +02:00

97 lines
4.9 KiB
EmacsLisp

;;; core-configuration-layer-ftest.el --- Spacemacs Functional Test File
;;
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
(require 'core-configuration-layer)
;; ---------------------------------------------------------------------------
;; configuration-layer//declare-used-layers
;; ---------------------------------------------------------------------------
(ert-deftest test-declare-layers--bootstrap-layer-always-first ()
(let ((dotspacemacs-distribution 'spacemacs)
(dotspacemacs-configuration-layers '(emacs-lisp
(git :variables foo 'bar)))
configuration-layer--used-layers
(configuration-layer--indexed-layers (make-hash-table :size 1024)))
(configuration-layer/discover-layers 'refresh-index)
(configuration-layer//declare-used-layers dotspacemacs-configuration-layers)
(should (eq 'spacemacs-bootstrap
(first configuration-layer--used-layers)))))
(ert-deftest test-declare-layers--defaults-layer-is-second-for-base-distribution ()
(let ((dotspacemacs-distribution 'spacemacs-base)
(dotspacemacs-configuration-layers '(emacs-lisp
(git :variables foo 'bar)))
configuration-layer--used-layers
(configuration-layer--indexed-layers (make-hash-table :size 1024)))
(configuration-layer/discover-layers 'refresh-index)
(configuration-layer//declare-used-layers dotspacemacs-configuration-layers)
(should (eq 'spacemacs-defaults (second configuration-layer--used-layers)))))
(ert-deftest test-declare-layers--base-layer-is-third-for-base-distribution ()
(let ((dotspacemacs-distribution 'spacemacs-base)
(dotspacemacs-configuration-layers '(emacs-lisp
(git :variables foo 'bar)))
configuration-layer--used-layers
(configuration-layer--indexed-layers (make-hash-table :size 1024)))
(configuration-layer/discover-layers 'refresh-index)
(configuration-layer//declare-used-layers dotspacemacs-configuration-layers)
(should (eq 'spacemacs-base (third configuration-layer--used-layers)))))
;; ---------------------------------------------------------------------------
;; configuration-layer//stable-elpa-verify-archive
;; ---------------------------------------------------------------------------
;; FIXME: Always fail. >_> @syl20bnr
;; (ert-deftest test-stable-elpa-verify-archive--verification-ok ()
;; (cl-letf (((symbol-function 'configuration-layer//stable-elpa-tarball-local-file)
;; (lambda ()
;; (concat spacemacs-test-directory
;; "core/data/signed-test-stable-elpa.tar.gz")))
;; ((symbol-function 'configuration-layer//stable-elpa-tarball-local-sign-file)
;; (lambda ()
;; (concat spacemacs-test-directory
;; "core/data/signed-test-stable-elpa.tar.gz.sig")))
;; ((symbol-function 'configuration-layer//stable-elpa-ask-to-continue)
;; (lambda (x)
;; (message "Verification Error: %s" x)
;; nil))
;; ((symbol-function 'configuration-layer//error)
;; (lambda (x)
;; (message "Fatal Error: %s" x)
;; nil))
;; ((symbol-function 'message) 'ignore))
;; (should (equal t (configuration-layer//stable-elpa-verify-archive)))))
(ert-deftest test-stable-elpa-verify-archive--verification-failed ()
;; FIXME: Seems to fail on specific Emacs version + OS combo >_> @syl20bnr
(skip-unless (not (and (version< emacs-version "27.1")
(string-equal system-type "windows-nt"))))
(let (verification-error)
(cl-letf (((symbol-function 'configuration-layer//stable-elpa-tarball-local-file)
(lambda ()
(concat spacemacs-test-directory
"core/data/test-stable-elpa.tar.gz")))
((symbol-function 'configuration-layer//stable-elpa-tarball-local-sign-file)
(lambda ()
(concat spacemacs-test-directory
"core/data/signed-test-stable-elpa.tar.gz.sig")))
((symbol-function 'configuration-layer//stable-elpa-ask-to-continue)
(lambda (x)
(setq verification-error x)
nil))
((symbol-function 'configuration-layer//error)
(lambda (x)
(message "Fatal Error: %s" x)
nil))
((symbol-function 'message) 'ignore))
(should (and (null (configuration-layer//stable-elpa-verify-archive))
(string-match-p "^Verification failed!.*"
verification-error))))))