diff --git a/pipcl.py b/pipcl.py index d9b831f70..c25c5118a 100644 --- a/pipcl.py +++ b/pipcl.py @@ -2416,6 +2416,8 @@ def openbsd(): def show_system(): ''' Show useful information about the system plus argv and environ. + + Omits os.environ if $PIPCL_SHOW_ENV is '0'. ''' def log(text): log0(text, caller=3) @@ -2447,10 +2449,18 @@ def log(text): for i, arg in enumerate(sys.argv): log(f' {i}: {arg!r}') - log(f'os.environ ({len(os.environ)}):') - for k in sorted( os.environ.keys()): - v = os.environ[ k] - log( f' {k}: {v!r}') + PIPCL_SHOW_ENV = os.environ.get('PIPCL_SHOW_ENV') + if PIPCL_SHOW_ENV == '0': + log(f'[Not showing os.environ because {PIPCL_SHOW_ENV=}.]') + else: + log(f'os.environ ({len(os.environ)}):') + for k in sorted( os.environ.keys()): + v = os.environ[ k] + if 'BEGIN OPENSSH PRIVATE KEY' in v: + # Don't show private keys. + log(f' {k} ****') + else: + log( f' {k}: {v!r}') class PythonFlags: diff --git a/scripts/sysinstall.py b/scripts/sysinstall.py index d4f2fc14f..ea6597d6d 100755 --- a/scripts/sysinstall.py +++ b/scripts/sysinstall.py @@ -401,6 +401,7 @@ def run(command, env_extra=None): 'test_textbox3', 'test_3493', 'test_4180', + 'test_4767', ) excluded_tests = ' and not '.join(excluded_tests) if not pytest_args: diff --git a/setup.py b/setup.py index f5d6abad0..709e69489 100755 --- a/setup.py +++ b/setup.py @@ -39,6 +39,9 @@ Directory containing MuPDF libraries, (libmupdf.so, libmupdfcpp.so). + PIPCL_SHOW_ENV + If '0', we do not show environment variables on startup. + PYMUPDF_SETUP_DEVENV Location of devenv.com on Windows. If unset we search for it - see wdev.py. if that fails we use just 'devenv.com'. diff --git a/tests/test_4767.py b/tests/test_4767.py index d3fc318dc..397435edb 100644 --- a/tests/test_4767.py +++ b/tests/test_4767.py @@ -9,6 +9,10 @@ def test_4767(): ''' Check handling of unsafe paths in `pymupdf embed-extract`. ''' + if os.environ.get('PYODIDE_ROOT'): + print('test_4767(): not running on Pyodide - cannot run child processes.') + return + with pymupdf.open() as document: document.new_page() document.embfile_add(