diff options
author | AcriusWinter <152348900+AcriusWinter@users.noreply.github.com> | 2024-08-12 14:58:09 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-12 15:58:09 -0600 |
commit | 63e680e4f9fed6385ddf7867ac2c6d0c2112be17 (patch) | |
tree | 037e6b12716e4e1f62be4959c1bccce847b5374d | |
parent | 27557a133ba2ad5c1fd5c874006f264693b4716b (diff) | |
download | spack-63e680e4f9fed6385ddf7867ac2c6d0c2112be17.tar.gz spack-63e680e4f9fed6385ddf7867ac2c6d0c2112be17.tar.bz2 spack-63e680e4f9fed6385ddf7867ac2c6d0c2112be17.tar.xz spack-63e680e4f9fed6385ddf7867ac2c6d0c2112be17.zip |
c: new test API (#45469)
* c: new test API
* gcc: provides('c')
* c: bugfix and simplification of the new stand-alone test method
---------
Co-authored-by: Tamara Dahlgren <dahlgren1@llnl.gov>
-rw-r--r-- | etc/spack/defaults/packages.yaml | 1 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/c/package.py | 24 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/gcc/package.py | 1 |
3 files changed, 14 insertions, 12 deletions
diff --git a/etc/spack/defaults/packages.yaml b/etc/spack/defaults/packages.yaml index 3056cbb5d5..2f6cf53def 100644 --- a/etc/spack/defaults/packages.yaml +++ b/etc/spack/defaults/packages.yaml @@ -20,6 +20,7 @@ packages: awk: [gawk] armci: [armcimpi] blas: [openblas, amdblis] + c: [gcc] cxx: [gcc] D: [ldc] daal: [intel-oneapi-daal] diff --git a/var/spack/repos/builtin/packages/c/package.py b/var/spack/repos/builtin/packages/c/package.py index d36fbd9ffe..5f1c33c80a 100644 --- a/var/spack/repos/builtin/packages/c/package.py +++ b/var/spack/repos/builtin/packages/c/package.py @@ -14,17 +14,17 @@ class C(Package): homepage = "http://open-std.org/JTC1/SC22/WG14/www/standards" virtual = True - def test(self): - test_source = self.test_suite.current_test_data_dir + def test_c(self): + """build and run C examples""" + cc = which(os.environ["CC"]) + expected = ["Hello world", "YES!"] + test_source = self.test_suite.current_test_data_dir for test in os.listdir(test_source): - filepath = test_source.join(test) - exe_name = "%s.exe" % test - - cc_exe = os.environ["CC"] - cc_opts = ["-o", exe_name, filepath] - compiled = self.run_test(cc_exe, options=cc_opts, installed=True) - - if compiled: - expected = ["Hello world", "YES!"] - self.run_test(exe_name, expected=expected) + exe_name = f"{test}.exe" + with test_part(self, f"test_c_{test}", f"build and run {exe_name}"): + filepath = join_path(test_source, test) + cc("-o", exe_name, filepath) + exe = which(exe_name) + out = exe(output=str.split, error=str.split) + check_outputs(expected, out) diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py index d57c57526d..d28209f04f 100644 --- a/var/spack/repos/builtin/packages/gcc/package.py +++ b/var/spack/repos/builtin/packages/gcc/package.py @@ -34,6 +34,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): license("GPL-2.0-or-later AND LGPL-2.1-or-later") + provides("c") provides("cxx") provides("fortran") |