aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2019-04-28 15:17:34 +0200
committerChristian Tismer <tismer@stackless.com>2019-04-29 10:19:28 +0000
commit4840fd8440eb3d6cab005f3a5a6a27767c57ec91 (patch)
treee9dfaafea502ab3376ea1e983ce3d69071e0981c /testing
parentf3f401315774687f74caa4f5aeb7ec8ef2d5587c (diff)
Fix PyInstaller after removal of COIN glitches
After the COIN problems have been removed, the only remaining problem is PyInstaller, which crashes on macOS with Python 2.7.16 . For a full problem description, see the amendment to "Current COIN Wheel Tester Problems" To simplify a later problem analysis, "pip list" is included. Fixes: PYSIDE-996 Change-Id: Ie607ac190ab703a0b8cbe20483b4b60f81634d9d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'testing')
-rw-r--r--testing/wheel_tester.py33
1 files changed, 20 insertions, 13 deletions
diff --git a/testing/wheel_tester.py b/testing/wheel_tester.py
index a6ee2d463..180526b33 100644
--- a/testing/wheel_tester.py
+++ b/testing/wheel_tester.py
@@ -51,6 +51,7 @@ looked up in your PATH.
Make sure that some generated wheels already exist in the dist/
directory (e.g. setup.py bdist_wheel was already executed).
"""
+from __future__ import print_function, absolute_import
import os, sys
@@ -68,7 +69,7 @@ from build_scripts.options import OPTION_CMAKE
from build_scripts.utils import find_files_using_glob
from build_scripts.utils import find_glob_in_path
-from build_scripts.utils import run_process
+from build_scripts.utils import run_process, run_process_output
from build_scripts.utils import rmtree
import distutils.log as log
import platform
@@ -204,6 +205,19 @@ def generate_build_qmake():
log.info("")
+def raise_error_pyinstaller(msg):
+ print()
+ print("PYINST: {msg}".format(**locals()))
+ print("PYINST: sys.version = {}".format(sys.version.splitlines()[0]))
+ print("PYINST: platform.platform() = {}".format(platform.platform()))
+ print("PYINST: See the error message above.")
+ print()
+ for line in run_process_output([sys.executable, "-m", "pip", "list"]):
+ print("PyInstaller pip list: ", line)
+ print()
+ raise(RuntimeError(msg))
+
+
def compile_using_pyinstaller():
src_path = os.path.join("..", "hello.py")
spec_path = os.path.join("..", "hello_app.spec")
@@ -213,14 +227,9 @@ def compile_using_pyinstaller():
# By using a spec file, we avoid all the probing that might disturb certain
# platforms and also save some analysis time.
if exit_code:
- # raise RuntimeError("Failure while compiling script using PyInstaller.")
- print("PYINST: Failure while compiling script using PyInstaller.")
- print("PYINST: sys.version = {}".format(sys.version.splitlines()[0]))
- print("PYINST: platform.platform() = {}".format(platform.platform()))
- print("PYINST: See the error message above.")
- return False
+ # 2019-04-28 Raising on error is again enabled
+ raise_error_pyinstaller("Failure while compiling script using PyInstaller.")
log.info("")
- return True
def run_make():
@@ -256,7 +265,7 @@ def run_compiled_script(binary_path):
args = [binary_path]
exit_code = run_process(args)
if exit_code:
- raise RuntimeError("Failure while executing compiled script: {}".format(binary_path))
+ raise_error_pyinstaller("Failure while executing compiled script: {}".format(binary_path))
log.info("")
@@ -293,10 +302,8 @@ def try_build_examples():
src_path = os.path.join(examples_dir, "installer_test")
prepare_build_folder(src_path, "pyinstaller")
- # Currently, there are bugs in the COIN setup.
- # That is currently not the subject of this test:
- if compile_using_pyinstaller():
- run_compiled_script(os.path.join(src_path,
+ compile_using_pyinstaller()
+ run_compiled_script(os.path.join(src_path,
"pyinstaller", "dist", "hello_app", "hello_app"))
log.info("Attempting to build and run samplebinding using cmake.")