[PIPE2D-53] tests/testDRP.py will fail on modern Mac OS Created: 30/Jul/16  Updated: 14/Mar/17  Resolved: 14/Mar/17

Status: Done
Project: DRP 2-D Pipeline
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: swinbank Assignee: aritter
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks PIPE2D-69 tests/testDrp.py fails without return... Done
Sprint: 2014-16
Reviewers: swinbank

 Description   

drp_stella's tests/testDRP.py contains the line:

print subprocess.Popen("bin.src/reduceArcRefSpec.py %s --id visit=%d --refSpec %s --lineList %s --loglevel 'info' --calib %s --output %s --clobber-config" % (self.testDataDir, self.arcVisit, self.refSpec, self.lineList, self.testCalibDir, self.testDataDir), shell=True)

On Mac OS >= 10.11, this will produce the following result:

self.testDataDir = < /Users/jds/Projects/Astronomy/PFS/src/drp_stella_data/tests/data/ >
self.testCalibDir = < /Users/jds/Projects/Astronomy/PFS/src/drp_stella_data/tests/data/CALIB/ >
self.arcVisit = < 4 >
self.refSpec = < /Users/jds/Projects/Astronomy/PFS/src/obs_pfs/pfs/arcSpectra/refSpec_CdHgKrNeXe_red.fits >
self.lineList = < /Users/jds/Projects/Astronomy/PFS/src/obs_pfs/pfs/lineLists/CdHgKrNeXe_red.fits >
os.environ['OBS_PFS_DIR'] = < /Users/jds/Projects/Astronomy/PFS/src/obs_pfs >
<subprocess.Popen object at 0x114f36c90>
.
----------------------------------------------------------------------
Ran 1 test in 0.004s

OK
Could not import lsstcppimport; please ensure the base package has been built (not just setup).

Traceback (most recent call last):
  File "bin.src/reduceArcRefSpec.py", line 3, in <module>
    from pfs.drp.stella.reduceArcRefSpecTask import ReduceArcRefSpecTask
  File "/Users/jds/Projects/Astronomy/PFS/src/drp_stella/python/pfs/drp/stella/__init__.py", line 1, in <module>
    from stellaLib import *
  File "/Users/jds/Projects/Astronomy/PFS/src/drp_stella/python/pfs/drp/stella/stellaLib.py", line 34, in <module>
    _stellaLib = swig_import_helper()
  File "/Users/jds/Projects/Astronomy/PFS/src/drp_stella/python/pfs/drp/stella/stellaLib.py", line 30, in swig_import_helper
    _mod = imp.load_module('_stellaLib', fp, pathname, description)
  File "/Users/jds/Projects/Astronomy/LSST/stack/DarwinX86/base/12.0-4-g0d328d3/python/lsstimport.py", line 107, in imp_load_module
    module = orig_imp_load_module(name, *args)
ImportError: dlopen(/Users/jds/Projects/Astronomy/PFS/src/drp_stella/python/pfs/drp/stella/_stellaLib.so, 2): Library not loaded: libdrp_stella.dylib
  Referenced from: /Users/jds/Projects/Astronomy/PFS/src/drp_stella/python/pfs/drp/stella/_stellaLib.so
  Reason: image not found

Two problems here:

  1. The test is obviously not being run, due to issues with SIP;
  2. Despite crashing and burning like this, we're still reporting it as a success.


 Comments   
Comment by rhl [ 08/Nov/16 ]

The runPipeline script will have the same problem with SIP, and should be fixed the same way; I think that adding

export LD_LIBRARY_PATH=$LSST_LIBRARY_PATH
export DYLD_LIBRARY_PATH=$LSST_LIBRARY_PATH

is all that is required for a shell script.

Comment by aritter [ 11/Mar/17 ]

The check of the return values will be done in ticket PIPE2D-69. This ticket is only to make the integration test run again, which it does thanks to your help!

Comment by swinbank [ 11/Mar/17 ]

Looks fine. Shame we're still pulling in so much other... stuff on tickets (of the 7 commits, only a couple are actually relevant here), but at least the overall diff is small enough to be readable this time.

Comment by aritter [ 14/Mar/17 ]

Merged into master

Generated at Sat Feb 10 15:47:47 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.