| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I75f1a367c8a86ec586820bd4a45339773c15a70a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
COIN-only failures can then be tagged accordingly.
Change-Id: Ib7f5abaea48eee5feee5b676ba80421c66ffb08e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
Tested using Qt 6 beta 5.
Task-number: PYSIDE-1339
Task-number: PYSIDE-904
Change-Id: I378770df929327aa8aa502751baac482702520d7
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Note that not all future statements can be removed:
PEP 563 for instance deals with
from __future__ import annotations
Task-number: PYSIDE-904
Change-Id: Ia387ec87f3c68ca64d13e8e80191eda900f58638
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: I0e5f73d7bf0bb404dc77d6d016a211e61c09da91
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Adapt CMake files, build scripts, tests and examples.
Task-number: PYSIDE-904
Change-Id: I845f7b006e9ad274fed5444ec4c1f9dbe176ff88
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
This change affects mostly only my own sources which were
prepared for the migration to Python 3.6 .
Task-number: PYSIDE-904
Change-Id: I0c2cd59f6f625f51f876099c33005ac70ca39db9
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tools directory was brought back as sources/pyside-tools
and currently only holds the pyside_tool.py script to create
the entry points for rcc and uic.
Since the submodule is not present anymore, we remove also
the reference from the testing step.
Change-Id: I0bfa4509d44c9bd2a3e5fbf4ddb7fff7a2750f4d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Amends b78e5bd771f0d5a81692bc95f76929b092edf2f6.
Change-Id: Idecff944c27c9473cd565224547a206199af8a30
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Change-Id: I80079d8a0956e3cc9b27ceb5b5ea2cfc6c9c9449
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Adapt CMake files, build scripts, tests and examples.
Task-number: PYSIDE-904
Change-Id: I4cb5ee4c8df539546014b08202a7b1e98ed3ff07
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
The semantics have changed, the OPTIONS dict is not fully populated
at startup.
Task-number: PYSIDE-807
Change-Id: Ic076f4ec8d624119d11e6ee266e2f6ccdb702b1e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The newly introduced history pruning has a timing problem
on RHel 7.6. We disable pruning now when COIN is
active. This makes anyway only sense for multiple
builds on a developer machine but not in COIN.
Change-Id: Ic4b4f2e42303e343d222b98655300509f83c7288
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The always growing list of invalid directory entries
in the history will get pruned to only keep the latest
days entries.
Change-Id: Ie104ca9874f985f0040950f650390798f45fc6d5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Wheel_tester forces installation of "shiboken2_generator".
This is not needed for compile_using_pyinstaller, but building
modules with cmake. This was not clear.
In effect, just the log messages were made a bit more verbose
and a clarifying comment was added.
Change-Id: I7d7d9ce1e9911461d087d685ab5c1cb66c94aa27
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows inserts extra newlines into the error log when certain
errors occur like
"Exit code 0xc0000409\n***Exception:"
and that newline caused the parser match to fail.
Note that this is the normal stdout. CMake does not use stderr.
It makes no sense to fix the pipe structure of the script.
Instead, the only fix needed was recognition of line breaks
in the error log. You can see this also in the failure listing
The following tests FAILED:
1 - pysidetest_constructor_properties_test (Exit code 0xc0000409
)
The following improvements were done:
- add an extra pass that checks for broken lines in the error log
- add ad extra plausibility check or consecutive test numbers
- improve the output, program structure and add some documentation
When there should still an unforeseen bug occurs, it will be recognized
by the plausi-check and the test repetitions are immediately cancelled.
We could also fix the output not to contain the line breaks, but
that breaks the principle of keeping the original output and needs
discussion by the developers.
Fixes: PYSIDE-1229
Change-Id: Ib71f3361e78eb59f3469da172c74c719e9f08706
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we are importing * from the options.py file,
which is a problem for the linters to discover if we are properly
using the options of the file.
Having a dictionary provides also a better way of access these options,
and it is more clean than having one variable per each option.
Change-Id: Ie70bd88665357b85e2842c5df269857504ecccdf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The script scrape_testresults.py analyzes log files in order to
find embedded script files for the registry.
This script does not try to be absolute water-proof but handled the
existing cases well.
By chance, the text "BEGIN_FILE", which is used as an indicator,
was found in a traceback from the generating script.
We modified the search to ignore this text in single quotes, but
also changed the originating file testing/runner.py to no longer
contain this text in the future.
Change-Id: I1fef1cf5e9b85fc94b7ee52edbdf4afa4bf4e35a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
This is useful when testing in a local developer build.
Change-Id: Ib875dabd21d437951d3909030b47805b807fac9d
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PyInstaller test was done with minimalistic options to keep
things as simple as possible.
This had the side effect that on certain Python versions and
platforms things were touched that created errors, although
those things were nowhere in use.
It turned out that the generated hello_app.spec file contains
the result of an in-depth analysis which touches so many
non-existing modules. When using just the generated spec file and
no other option, the analysis is almost skipped and the generation
of an executable avoids further problems and is faster.
This patch removes all arguments and uses a spec file instead.
The arguments are kept in a comment, just in case.
Change-Id: I17c43a588bc6f95f62fc3104a047dc08e8d8e70d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A simple hello.py script was modified for running in
PyInstaller and stopping to execute after 2 seconds.
The reason is to test that PyInstaller works correctly
together with the embedded mode of the signature
extension on all platforms.
The script did first not work on Windows. This is now
solved, after an import in pyside2_config.py is fixed.
Currently, there are several configuration errors in COIN.
Errors are therefore skipped in the PyInstaller build.
The test tests only if the generated script works.
Change-Id: I7a1b1e738d523b83cc3fe5beafa7e2579f9c7f48
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Fix variable name changed by f30e4db5169800c25bf79573f650fc2b08d13046,
fixing error:
NameError global name 'make_path' is not defined
Change-Id: Ieee3ba884e122cbc6e2cec267653481552a041d9
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
| |
Use the new project file format.
Change-Id: I69f488c285343500edd999b746ce244a56504030
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a CMake super project that includes the shiboken2, PySide2 and
pyside2-tools subprojects, so that it's possible to build everything
from Qt Creator (or any other IDE that supports CMake)
with minimal set up effort, and thus inform the IDE CMake integration
of all relevant files, for easier code editing, navigation and
refactoring.
This also lays the foundation for allowing 3rd parties to use the
shiboken2 generator to generate custom modules. This is
achieved by eliminating various hardcoded paths for libraries and
include directories.
Start using CMake targets throughout the build code to correctly
propagate link flags and include dirs for libshiboken and
shiboken2 executable targets. Same for the libpyside target.
Generate two separate cmake config files (build-tree / install-tree)
that can be used with find_package(Shiboken2), to make sure that
the PySide2 project can be built as part of the super project build.
This is currently the only way I've found to allow the super build
to work.
Note that for the build-tree find_package() to work, the
CMAKE_MODULE_PATH has to be adjusted in the super project file.
The generated config files contain variables and logic that allow
usage of the installed shiboken package in downstream projects
(PySide2). This involves things like getting the includes and
libraries for the currently found python interpreter, the shiboken
build type (release or debug), was shiboken built with limited
api support, etc.
Generate 2 separate (build-tree and install-tree) config files
for PySide2, similar to how it's done for the shiboken case, for
pyside2-tools to build correctly.
Install shiboken2 target files using install(EXPORT)
to allow building PySide2 with an installed Shiboken2 package
(as opposed to one that is built as part of the super project).
Same with PySide2 targets for pyside2-tools subproject.
Make sure not to redefine uninstall targets if they are already
defined.
Add a --shorter-paths setup.py option, which would be used by
the Windows CI, to circumvent creating paths that are too long,
and thus avoiding build issues.
Output the build characteristics / classifiers into the generated
build_history/YYYY-MM-DD_AAAAAA/build_dir.txt file, so it can be
used by the test runner to properly filter out blacklisted
tests. This was necessary due to the shorter paths options.
Fix various issues regarding target includes and library
dependencies.
Remove certain duplicated cmake code (like limited api check and build
type checks) in PySide2, given that that information will now be
present in the exported shiboken2 config file.
Include a short README.cmake.md file that describes how to build
the super project.
References used
https://rix0r.nl/blog/2015/08/13/cmake-guide/
https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/
https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1
https://cliutils.gitlab.io/modern-cmake/chapters/basics/functions.html
https://cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html
https://github.com/ComicSansMS/libstratcom/blob/master/CMakeLists.txt
Abandoned approach using ExternalProject references:
https://cmake.org/cmake/help/latest/module/ExternalProject.html
https://stackoverflow.com/questions/44990964/how-to-perform-cmakefind-package-at-build-stage-only
Fixes: PYSIDE-919
Change-Id: Iaa15d20b279a04c5e16ce2795d03f912bc44a389
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
ninja will be recommended build tool/CMake generator for Qt due to its
speed. Streamline the option parsing code and add it.
Adapt the test runner to find the ctest command in the ninja build file.
Change-Id: I61dd6fd4fb26a50af21432e10e7da86123240e0f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: Icc009fde4ac6266f4beaf29b235a6af27d1a7d1d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Augment coin_test_instructions.py to run a new script
testing/wheel_tester.py, which tries to pip install the built
wheels, and then tries to build the samplebinding and
scriptableapplication examples.
This allows us to confirm that the generated wheels are actually
installable, and also hopefully prevent us from breaking the
embeddable examples, by making sure that they at least build
(and execute in the case of samplebinding).
The change also modifies the examples to be able to take the
python executable as build argument, so that wheel_tester
can specify explicitly which python interpeter to use.
Change-Id: I0f141e40ab86e3311dd25915c4e53b0af36aaae9
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I8dc16c10565da8f93ba5cb7cace004f8eaf52236
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removing the word 'project' from all the headers,
and changing the PySide reference from the examples
to Qt for Python:
The following line was used inside the source/ and
build_scripts/ directory:
for i in $(grep -r "the Qt for Python project" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/the\ Qt\ for\ Python\ project/Qt\ for\ Python/g' $i;done
and the following line was used inside the examples/ directory:
for i in $(grep -r "of the PySide" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/of\ the\ PySide/of\ the\ Qt\ for\ Python/g' $i;done
Change-Id: Ic480714686ad62ac4d81c670f87f1c2033d4ffa1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an initial effort to clean up setup.py.
A new directory called build_scripts contains most of the logic for
building, leaving setup.py as an entry point.
The build_scripts directory contains the usual qtinfo, utils, and the
setup.py content has been split into main.py and platform specific
files under platforms subfolder.
The testrunner script has been modified to find the new location of
the utils module.
Task-number: PYSIDE-558
Change-Id: I3e041d5116ca5c3f96c789317303b65a7b1bbd70
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is phase 2.
The files are generated. I only changed the date in the license section.
After this check-in, the update is done.
From Phase 1:
The function registry does not contain the new Qt3D module.
This produces no error because the test is configured to only
break on missing functions but not on new unknown functions.
We provoke a reaction of the system by removing of the 5.9
registry files. The system will generate an error once and produce
the desired output.
But because of the multiple testing, the test will succeed because
the generated file exist on the second run and therefore the test
will succeed as a flaky test.
There is only one run necessary for all platforms at once.
A second check-in will then do the update with the generated data.
I also had to fix the testrunner to produce a good listing without labels.
Task-number: PYSIDE-487
Change-Id: I06a73d244ce306977fd16223eec4dc491fff3429
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\
| |
| |
| | |
Change-Id: I18387b329e61646e8d68e678140b533281e359cd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Testrunner had a virtual problem:
When running testrunner without building the project again, and the test
skips some runs that were not skipped before, then it will fetch an old
test log from the former run.
Cure: We check all logfiles first. If a file exists and skip is not set, then we
remove the file. Then normal testing starts.
Change-Id: Ib91baca97d3b0a5c0b68a8022fca52202b20e862
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|/
|
|
| |
Change-Id: I254cc725505349e73c7abc290afc7abb85156997
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new testrunner now has the multiple test feature.
We refine and correct the summary view a little bit, remove
more dead code, add some comments and improve the output slightly.
Change-Id: I152bf5cbe2171fb07de7e88054a42fc767dc14c0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simo Fält <simo.falt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Testrunner checks if it is running in COIN.
If so, it runs each tested project 5 times and reports an error if
3 errors were found in a test function and not blacklisted.
The time is measured, so we know if we can run all the tests five
times or if we can run only the failed tests.
At the moment, the option COIN_RERUN_FAILED_ONLY is activated
by default. We can configure it by setting to false.
Since this change turns the registry existence test into a flaky test
(te tests generates it's missing file in the first run),
the registry existence test is no more blacklisted.
We simulate our own tee command now with decorated output.
Task-number: PYSIDE-578
Change-Id: I6390cd50398a97a168c85c6bb778984c6a5b90fc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
A simple change that makes the "FAIL!" entries easy to find.
Task-number: PYSIDE-578
Change-Id: I953bf94912f101208c1cddb7772aa0c34e9ca1a8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before working on the algorithm, we simplify the testrunner
by using ctest directly. This has also the advantage that we can
control much better how the output is generated.
By interrogating the Makefile, we can now detect early if ctest
was configured in setup.py .
Task-number: PYSIDE-578
Change-Id: I1157576bf5806044465d7a1409c3d26810f33f62
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Testrunner contains old learning code for blacklist
that was never used. We remove that code.
The new display of environment was correctly placed
and reformatted.
Task-number: PYSIDE-578
Change-Id: Ia508314aa1a87d07522386342059c14cb1254400
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
Testrunner is a medium-large module that has a number of
different purposes. Since we want to improve the testing logic,
it is better to clean the module up before adding even more
code.
For compatibitity, the testrunner module will stay in place,
but redirect everything into the new "testing" package.
Task-number: PYSIDE-578
Change-Id: I3d14f3c4c421cdd2bb7777691b56677aa4786dd8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|