From fb32f928793d76346579b7d2331fe221dc7094d1 Mon Sep 17 00:00:00 2001 From: Phillip Lord Date: Sun, 10 Jan 2021 21:49:51 +0000 Subject: [PATCH] Allow evaluation of tests from local source repository * etc/w32-feature.el (w32-feature-load-tests): Add new command --- etc/w32-feature.el | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/etc/w32-feature.el b/etc/w32-feature.el index c5f2cd548ad..364e9341ae3 100644 --- a/etc/w32-feature.el +++ b/etc/w32-feature.el @@ -25,9 +25,21 @@ ;; designed to check whether bundled binary distributions of Emacs on ;; windows are fully functional. +;; By default is checks whether the features that we are expect to be +;; available on Emacs for Windows are reported to be available. It +;; should be possible to run these tests from a distributed version of +;; Emacs. + +;; In addition, it provides a single command +;; `w32-feature-load-tests'. If the full source repository of Emacs is +;; available, this will load selected files from the repository which +;; test these features. + ;;; Code: (require 'ert) +(defvar w32-feature-core-tests nil) + (ert-deftest feature-optimization () (should (string-match-p "CFLAGS=-O2" system-configuration-options))) @@ -41,16 +53,24 @@ (ert-deftest feature-gnutls () (should (gnutls-available-p))) +(add-to-list 'w32-feature-core-tests "lisp/net/gnutls-tests.el") + (ert-deftest feature-zlib () (should (zlib-available-p))) +(add-to-list 'w32-feature-core-tests "src/decompress-tests.el") + (ert-deftest feature-thread () (should (fboundp 'make-thread))) +(add-to-list 'w32-feature-core-tests "lisp/thread-tests.el") + (ert-deftest feature-json () (should (fboundp 'json-serialize))) +(add-to-list 'w32-feature-core-tests "src/json-tests.el") + (ert-deftest feature-gmp () (should (string-match-p "GMP" system-configuration-features))) @@ -61,9 +81,13 @@ (ert-deftest feature-libxml () (should (libxml-available-p))) +(add-to-list 'w32-feature-core-tests "src/xml-tests.el") + (ert-deftest feature-lcms2 () (should (lcms2-available-p))) +(add-to-list 'w32-feature-core-tests "src/lcms-tests.el") + (ert-deftest feature-xpm () (should (image-type-available-p 'xpm))) @@ -73,8 +97,7 @@ (ert-deftest feature-png () (should (image-type-available-p 'png))) -(ert-deftest feature-xpm () - (should (image-type-available-p 'xpm))) +(add-to-list 'w32-feature-core-tests "lisp/image-file-tests.el") (ert-deftest feature-jpeg () (should (image-type-available-p 'jpeg))) @@ -84,4 +107,12 @@ (ert-deftest feature-svg () (should (image-type-available-p 'svg))) + +(defun w32-feature-load-tests (dir) + (interactive "D") + (mapc + (lambda(f) + (load-file (concat dir "test/" f))) + w32-feature-core-tests)) + ;;; feature.el ends here