summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>2023-05-16 21:25:35 -0700
committerGitHub <noreply@github.com>2023-05-17 00:25:35 -0400
commitffa5962356ff2fb134af821595cc718df9b75914 (patch)
tree6744376bc26e51e6797711835c151493ecf5dd99
parent67e74da3ba6d548c1fdaf0787cfeab47b9be8a22 (diff)
downloadspack-ffa5962356ff2fb134af821595cc718df9b75914.tar.gz
spack-ffa5962356ff2fb134af821595cc718df9b75914.tar.bz2
spack-ffa5962356ff2fb134af821595cc718df9b75914.tar.xz
spack-ffa5962356ff2fb134af821595cc718df9b75914.zip
emacs: convert to new stand-alone test process (#37725)
-rw-r--r--var/spack/repos/builtin/packages/emacs/package.py45
1 files changed, 30 insertions, 15 deletions
diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py
index 524f7ef8d9..be45473e8b 100644
--- a/var/spack/repos/builtin/packages/emacs/package.py
+++ b/var/spack/repos/builtin/packages/emacs/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
import sys
from spack.package import *
@@ -97,18 +98,32 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage):
return args
- def _test_check_versions(self):
- """Perform version checks on installed package binaries."""
- checks = ["ctags", "ebrowse", "emacs", "emacsclient", "etags"]
-
- for exe in checks:
- expected = str(self.spec.version)
- reason = "test version of {0} is {1}".format(exe, expected)
- self.run_test(
- exe, ["--version"], expected, installed=True, purpose=reason, skip_missing=True
- )
-
- def test(self):
- """Perform smoke tests on the installed package."""
- # Simple version check tests on known binaries
- self._test_check_versions()
+ def run_version_check(self, bin):
+ """Runs and checks output of the installed binary."""
+ exe_path = join_path(self.prefix.bin, bin)
+ if not os.path.exists(exe_path):
+ raise SkipTest(f"{exe_path} is not installed")
+
+ exe = which(exe_path)
+ out = exe("--version", output=str.split, error=str.split)
+ assert str(self.spec.version) in out
+
+ def test_ctags(self):
+ """check ctags version"""
+ self.run_version_check("ctags")
+
+ def test_ebrowse(self):
+ """check ebrowse version"""
+ self.run_version_check("ebrowse")
+
+ def test_emacs(self):
+ """check emacs version"""
+ self.run_version_check("emacs")
+
+ def test_emacsclient(self):
+ """check emacsclient version"""
+ self.run_version_check("emacsclient")
+
+ def test_etags(self):
+ """check etags version"""
+ self.run_version_check("etags")