From f159246d1d073ae7230b5412a4a2a20eac7f49c2 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Sat, 22 Jul 2017 21:27:54 -0700 Subject: Make testing spack commands simpler (#4868) Adds SpackCommand class allowing Spack commands to be easily in Python Example usage: from spack.main import SpackCommand info = SpackCommand('info') out, err = info('mpich') print(info.returncode) This allows easier testing of Spack commands. Also: * Simplify command tests * Simplify mocking in command tests. * Simplify module command test * Simplify python command test * Simplify uninstall command test * Simplify url command test * SpackCommand uses more compatible output redirection --- var/spack/repos/builtin.mock/packages/a/package.py | 2 +- var/spack/repos/builtin.mock/packages/libdwarf/package.py | 2 +- var/spack/repos/builtin.mock/packages/libelf/package.py | 9 +-------- 3 files changed, 3 insertions(+), 10 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin.mock/packages/a/package.py b/var/spack/repos/builtin.mock/packages/a/package.py index 59d8b9e330..e2fa6c35b0 100644 --- a/var/spack/repos/builtin.mock/packages/a/package.py +++ b/var/spack/repos/builtin.mock/packages/a/package.py @@ -26,7 +26,7 @@ from spack import * class A(AutotoolsPackage): - """Simple package with no dependencies""" + """Simple package with one optional dependency""" homepage = "http://www.example.com" url = "http://www.example.com/a-1.0.tar.gz" diff --git a/var/spack/repos/builtin.mock/packages/libdwarf/package.py b/var/spack/repos/builtin.mock/packages/libdwarf/package.py index 10d6fa8e88..0cdbaf2a33 100644 --- a/var/spack/repos/builtin.mock/packages/libdwarf/package.py +++ b/var/spack/repos/builtin.mock/packages/libdwarf/package.py @@ -41,4 +41,4 @@ class Libdwarf(Package): depends_on("libelf") def install(self, spec, prefix): - pass + touch(prefix.libdwarf) diff --git a/var/spack/repos/builtin.mock/packages/libelf/package.py b/var/spack/repos/builtin.mock/packages/libelf/package.py index 3a2fe603ef..0390963081 100644 --- a/var/spack/repos/builtin.mock/packages/libelf/package.py +++ b/var/spack/repos/builtin.mock/packages/libelf/package.py @@ -34,11 +34,4 @@ class Libelf(Package): version('0.8.10', '9db4d36c283d9790d8fa7df1f4d7b4d9') def install(self, spec, prefix): - configure("--prefix=%s" % prefix, - "--enable-shared", - "--disable-dependency-tracking", - "--disable-debug") - make() - - # The mkdir commands in libelf's intsall can fail in parallel - make("install", parallel=False) + touch(prefix.libelf) -- cgit v1.2.3-60-g2f50