Try using DYLD_INSERT_LIBRARIES instead

This commit is contained in:
Kovid Goyal 2023-01-19 13:17:20 +05:30
parent 829f3d4e0e
commit 7ee339ab14
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 3 additions and 4 deletions

View File

@ -46,8 +46,6 @@ class Test(Command):
sys.libxslt_dylib = ctypes.CDLL(os.path.join(os.environ['SW'], 'lib', 'libxslt.dylib')) sys.libxslt_dylib = ctypes.CDLL(os.path.join(os.environ['SW'], 'lib', 'libxslt.dylib'))
sys.libexslt_dylib = ctypes.CDLL(os.path.join(os.environ['SW'], 'lib', 'libexslt.dylib')) sys.libexslt_dylib = ctypes.CDLL(os.path.join(os.environ['SW'], 'lib', 'libexslt.dylib'))
print(sys.libxml2_dylib, sys.libxslt_dylib, sys.libexslt_dylib, file=sys.stderr, flush=True) print(sys.libxml2_dylib, sys.libxslt_dylib, sys.libexslt_dylib, file=sys.stderr, flush=True)
os.non_calibre_subprocess_env = e = os.environ
del e['DYLD_LIBRARY_PATH']
from calibre.utils.run_tests import ( from calibre.utils.run_tests import (
filter_tests_by_name, remove_tests_by_name, run_cli, find_tests filter_tests_by_name, remove_tests_by_name, run_cli, find_tests
) )

View File

@ -161,7 +161,8 @@ username = api
if ismacos: if ismacos:
os.environ['SSL_CERT_FILE'] = os.path.abspath( os.environ['SSL_CERT_FILE'] = os.path.abspath(
'resources/mozilla-ca-certs.pem') 'resources/mozilla-ca-certs.pem')
os.environ['DYLD_LIBRARY_PATH'] = os.path.join(SW, 'lib') # needed to ensure correct libxml2.dylib is loaded # needed to ensure correct libxml2 is loaded
os.environ['DYLD_INSERT_LIBRARIES'] = ':'.join(os.path.join(SW, 'lib', x) for x in 'libxml2.dylib libxslt.dylib libexslt.dylib'.split())
install_env() install_env()
run_python('setup.py test') run_python('setup.py test')

View File

@ -233,7 +233,7 @@ class TestAuth(BaseTest):
if curl: if curl:
def docurl(data, *args): def docurl(data, *args):
cmd = [curl] + list(args) + ['http://localhost:%d/closed' % server.address[1]] cmd = [curl] + list(args) + ['http://localhost:%d/closed' % server.address[1]]
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, env=getattr(os, 'non_calibre_subprocess_env', os.environ)) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
x = p.stdout.read() x = p.stdout.read()
p.wait() p.wait()
self.ae(x, data) self.ae(x, data)