summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin.mock/packages/test-error
diff options
context:
space:
mode:
authorTamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>2023-05-10 02:34:54 -0700
committerGitHub <noreply@github.com>2023-05-10 11:34:54 +0200
commit9a37c8fcb16f8e1f7e228991f0dc61102d8ccc7e (patch)
tree22635371a365263622cdc987ba2b20c91dfa81a8 /var/spack/repos/builtin.mock/packages/test-error
parent49677b9be5135c5c0aed9a2ebdd27c7683b69997 (diff)
downloadspack-9a37c8fcb16f8e1f7e228991f0dc61102d8ccc7e.tar.gz
spack-9a37c8fcb16f8e1f7e228991f0dc61102d8ccc7e.tar.bz2
spack-9a37c8fcb16f8e1f7e228991f0dc61102d8ccc7e.tar.xz
spack-9a37c8fcb16f8e1f7e228991f0dc61102d8ccc7e.zip
Stand-alone testing: make recipe support and processing spack-/pytest-like (#34236)
This is a refactor of Spack's stand-alone test process to be more spack- and pytest-like. It is more spack-like in that test parts are no longer "hidden" in a package's run_test() method and pytest-like in that any package method whose name starts test_ (i.e., a "test" method) is a test part. We also support the ability to embed test parts in a test method when that makes sense. Test methods are now implicit test parts. The docstring is the purpose for the test part. The name of the method is the name of the test part. The working directory is the active spec's test stage directory. You can embed test parts using the test_part context manager. Functionality added by this commit: * Adds support for multiple test_* stand-alone package test methods, each of which is an implicit test_part for execution and reporting purposes; * Deprecates package use of run_test(); * Exposes some functionality from run_test() as optional helper methods; * Adds a SkipTest exception that can be used to flag stand-alone tests as being skipped; * Updates the packaging guide section on stand-alone tests to provide more examples; * Restores the ability to run tests "inherited" from provided virtual packages; * Prints the test log path (like we currently do for build log paths); * Times and reports the post-install process (since it can include post-install tests); * Corrects context-related error message to distinguish test recipes from build recipes.
Diffstat (limited to 'var/spack/repos/builtin.mock/packages/test-error')
-rw-r--r--var/spack/repos/builtin.mock/packages/test-error/package.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/var/spack/repos/builtin.mock/packages/test-error/package.py b/var/spack/repos/builtin.mock/packages/test-error/package.py
index 5128a265a4..b8f37b4719 100644
--- a/var/spack/repos/builtin.mock/packages/test-error/package.py
+++ b/var/spack/repos/builtin.mock/packages/test-error/package.py
@@ -17,5 +17,7 @@ class TestError(Package):
def install(self, spec, prefix):
mkdirp(prefix.bin)
- def test(self):
- self.run_test("false")
+ def test_false(self):
+ """TestError test"""
+ false = which("false")
+ false()