From 22a69b04270156e213ef828abbb98ba82d80f5be Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Tue, 21 Jan 2020 11:42:18 -0800 Subject: [PATCH] tests: Preliminary patchelf smoke tests (#14551) * Initial patchelf smoke tests --- .../builtin/packages/patchelf/package.py | 26 ++++++++++++++++++ .../builtin/packages/patchelf/test/hello | Bin 0 -> 8272 bytes 2 files changed, 26 insertions(+) create mode 100755 var/spack/repos/builtin/packages/patchelf/test/hello diff --git a/var/spack/repos/builtin/packages/patchelf/package.py b/var/spack/repos/builtin/packages/patchelf/package.py index d17bb3bea1..8ddb7693e1 100644 --- a/var/spack/repos/builtin/packages/patchelf/package.py +++ b/var/spack/repos/builtin/packages/patchelf/package.py @@ -5,6 +5,12 @@ from spack import * +import os +import shutil +import tempfile + +import llnl.util.tty as tty + class Patchelf(AutotoolsPackage): """PatchELF is a small utility to modify the dynamic linker and RPATH of @@ -18,3 +24,23 @@ class Patchelf(AutotoolsPackage): version('0.10', sha256='b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019') version('0.9', sha256='f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a') version('0.8', sha256='14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe') + + def test(self): + patchelf = which('patchelf') + assert patchelf is not None + + tty.msg('test: Ensuring use of the installed executable') + patchelf_dir = os.path.dirname(patchelf.path) + assert patchelf_dir == self.prefix.bin + + tty.msg('test: Checking version') + output = patchelf('--version', output=str.split, error=str.split) + assert output.strip() == 'patchelf {0}'.format(self.spec.version) + + tty.msg('test: Ensuring the rpath is changed') + currdir = os.getcwd() + hello_fn = os.path.join(currdir, 'data', 'hello') + patchelf('--set-rpath', currdir, hello_fn) + output = patchelf('--print-rpath', hello_fn, + output=str.split, error=str.split) + assert output.strip() == currdir diff --git a/var/spack/repos/builtin/packages/patchelf/test/hello b/var/spack/repos/builtin/packages/patchelf/test/hello new file mode 100755 index 0000000000000000000000000000000000000000..8767836f8e8a3268b03cf29c771d8c019b8353b3 GIT binary patch literal 8272 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 bx^(1_Dpp1nz>|fq{Wk94mRlKdk30Amcp2U= literal 0 HcmV?d00001 -- GitLab