diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2017-10-26 14:05:24 -0400 |
---|---|---|
committer | scheibelp <scheibel1@llnl.gov> | 2017-11-02 18:45:40 -0700 |
commit | d5a3d9d20ea5b0c7a0d402c895cf2b63bc3132fe (patch) | |
tree | 15f1ed3b37d7ee7866dba2cabb488b662f1a407e | |
parent | 13b669de8efad6a2d61717257df0d8fd986f75f9 (diff) | |
download | spack-d5a3d9d20ea5b0c7a0d402c895cf2b63bc3132fe.tar.gz spack-d5a3d9d20ea5b0c7a0d402c895cf2b63bc3132fe.tar.bz2 spack-d5a3d9d20ea5b0c7a0d402c895cf2b63bc3132fe.tar.xz spack-d5a3d9d20ea5b0c7a0d402c895cf2b63bc3132fe.zip |
view: test conflicting packages in views
-rw-r--r-- | lib/spack/spack/test/cmd/view.py | 25 | ||||
-rw-r--r-- | var/spack/repos/builtin.mock/packages/extension1/package.py | 4 | ||||
-rw-r--r-- | var/spack/repos/builtin.mock/packages/extension2/package.py | 4 |
3 files changed, 29 insertions, 4 deletions
diff --git a/lib/spack/spack/test/cmd/view.py b/lib/spack/spack/test/cmd/view.py index b4f3275172..a52edff786 100644 --- a/lib/spack/spack/test/cmd/view.py +++ b/lib/spack/spack/test/cmd/view.py @@ -85,6 +85,31 @@ def test_view_extension_remove( assert not os.path.exists(os.path.join(viewpath, 'bin', 'extension1')) +def test_view_extension_conflict( + tmpdir, builtin_mock, mock_archive, mock_fetch, config, + install_mockery): + install('extendee') + install('extension1@1.0') + install('extension1@2.0') + viewpath = str(tmpdir.mkdir('view')) + view('symlink', viewpath, 'extension1@1.0') + output = view('symlink', viewpath, 'extension1@2.0') + assert 'Package conflict detected' in output + + +def test_view_extension_conflict_ignored( + tmpdir, builtin_mock, mock_archive, mock_fetch, config, + install_mockery): + install('extendee') + install('extension1@1.0') + install('extension1@2.0') + viewpath = str(tmpdir.mkdir('view')) + view('symlink', viewpath, 'extension1@1.0') + view('symlink', viewpath, '-i', 'extension1@2.0') + with open(os.path.join(viewpath, 'bin', 'extension1'), 'r') as fin: + assert fin.read() == '1.0' + + def test_view_extension_global_activation( tmpdir, builtin_mock, mock_archive, mock_fetch, config, install_mockery): diff --git a/var/spack/repos/builtin.mock/packages/extension1/package.py b/var/spack/repos/builtin.mock/packages/extension1/package.py index c9837bde90..e36b2ad1d1 100644 --- a/var/spack/repos/builtin.mock/packages/extension1/package.py +++ b/var/spack/repos/builtin.mock/packages/extension1/package.py @@ -39,5 +39,5 @@ class Extension1(Package): def install(self, spec, prefix): mkdirp(prefix.bin) - with open(os.path.join(prefix.bin, 'extension1'), 'w+'): - pass + with open(os.path.join(prefix.bin, 'extension1'), 'w+') as fout: + fout.write(str(spec.version)) diff --git a/var/spack/repos/builtin.mock/packages/extension2/package.py b/var/spack/repos/builtin.mock/packages/extension2/package.py index 5616d4c3ca..de2545250b 100644 --- a/var/spack/repos/builtin.mock/packages/extension2/package.py +++ b/var/spack/repos/builtin.mock/packages/extension2/package.py @@ -40,5 +40,5 @@ class Extension2(Package): def install(self, spec, prefix): mkdirp(prefix.bin) - with open(os.path.join(prefix.bin, 'extension2'), 'w+'): - pass + with open(os.path.join(prefix.bin, 'extension2'), 'w+') as fout: + fout.write(str(spec.version)) |