diff options
author | Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> | 2023-05-16 21:25:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-17 00:25:35 -0400 |
commit | ffa5962356ff2fb134af821595cc718df9b75914 (patch) | |
tree | 6744376bc26e51e6797711835c151493ecf5dd99 | |
parent | 67e74da3ba6d548c1fdaf0787cfeab47b9be8a22 (diff) | |
download | spack-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.py | 45 |
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") |