summaryrefslogtreecommitdiff
path: root/scripts/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use SPDX license identifiersLucie Gérard2022-06-0816-432/+32
| | | | | | | | | | | Replace the current license header in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: master Task-number: QTBUG-67283 Change-Id: I6ae743e055bbf1cf514abe604157068923fb03c6 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Fix licensingJani Heikkinen2017-06-0116-272/+192
| | | | | | | | | | - Remove unnecessary license files and license header templates - Tools and test are licensed under GPL-EXCEPT nowdays, update correct license header there - Update test data to match current license headers Change-Id: Ia25c9e0989be326e0edeb0325af399edc26f0054 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Update copyright headersAntti Kokko2015-02-1316-338/+218
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I5999ee256134fe82ab13f6f06fcd1d0aa150b688 Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
* Fixed compatibility issues with perl >= 5.18Rohan McGovern2014-10-131-1/+1
| | | | | | | | | | | | | | | Remove an unnecessary usage of smartmatch. This has been marked experimental in newer perl, which generates warnings on use, causing test failures. The intent was to let the code work with regexes and plain strings, but since the code was only ever used with regexes, simply change to =~. Remove a wrong usage of defined() on an array. This code didn't mean what the author thought it meant (see perldoc -f defined), and using it this way is now deprecated, generating a warning. Change-Id: I388bb2e4cbd16ea468db099593763cfed9953f23 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
* Update license headers and add new license filesAntti Kokko2014-09-221-19/+11
| | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL - Added test reference file header.LGPL21 Change-Id: Ie950b82ff5eebc17cd7f3ce3cbc218d3862a4512 Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Fix "missing AutoLoader" complain in OSX 10.9Simo Fält2014-05-091-0/+1
| | | | | | | | | Requiring AutoLoader module on testrunner fixes the "Can't locate package AutoLoader for @Proc::Reliable::ISA" warning, seen in OSX 10.9 nodes. Change-Id: Ie00318d7b2fe1df7d445b661f96cccc00b8fed38 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
* TestScript.pm: Workaround Test::Perl::Critic testSergio Ahumada2013-05-311-1/+1
| | | | | | | | | This worksaround not ok 55 - Test::Perl::Critic for "lib/perl5/QtQA/TestScript.pm" Change-Id: I36c22d739ed1eebe064c4918b6679b59f58c20a7 Reviewed-by: Janne Anttila <janne.anttila@digia.com>
* Workaround for Windows 8 "Can't spawn cmd.exe" error.Janne Anttila2013-05-301-0/+23
| | | | | | | | | | | | | | | | Windows 8 CI builds fail randomly with "Can't spawn cmd.exe" error, after some investigation it was found that OS environment gets corrupted on those cases. For more information, please see comments in code. Since the root cause for environment corruption is not yet known, workaround implemented by using environment backup/restore mechanism. With this workaround I managed to run QtQA_master_integration CI in a loop for 100 times, and without workaround the error typically happened between 10-20 executions. Change-Id: I034a3f45a2bd2b791d5beabcd57d8047d1936e68 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
* Add timestamp and phase entry and exit prints to build log.Tony Sarajarvi2013-04-181-0/+8
| | | | | | | | | | | | | When testscript.pm now enters a new job or phase, it will print to log a timestamped entry. This will also be printed with duration at the point of exit. example of entry and exit: 09:34:21 #=# Wed Apr 17 09:34:21 2013 #=# >cleaning existing target directories 09:34:36 #=# Wed Apr 17 09:34:36 2013 #=# <cleaning existing target directories #=# Elapsed 15 second(s). Change-Id: I76a300244ea09193f877f57c3ed1f9e44a4b3d2b Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Simo Fält <simo.falt@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1416-16/+16
| | | | | | Change-Id: I02eaa709ff91d158a3e34f4e719254f2adce873e Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com>
* QtQA::Gerrit: add autotestsRohan McGovern2012-11-011-0/+235
| | | | | | | | stream-events tests are skipped on Windows due to QTQAINFRA-575. Change-Id: If245ea8a693d7428254a1902104c10b797b6f6c7 Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* QtQA::Test::More: allow configurable delay in mock commandsRohan McGovern2012-10-252-6/+22
| | | | | | | | | | Make it possible to use create_mock_commands to simulate commands which do not immediately exit. Change-Id: I0cffb500b181a3c161c41bd0ec27642c78f1bb0c Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Toby Tomkins <tjtomkins@gmail.com>
* New script to automatically set test configurations enforcingRohan McGovern2012-10-221-14/+352
| | | | | | | | | | | | This script searches through qtqa/testconfig, cross-references with the logs published on testresults.qt-project.org, and decides which test configuration(s) may be safely set enforcing. Functionality which may be useful to other scripts was implemented in the QtQA::Gerrit module. Change-Id: I05f26b713f44b23c7f5743a37e02ae19282a1c00 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* qt-jenkins-integrator: minor improvements to email configurationRohan McGovern2012-10-181-1/+2
| | | | | | | | | | | | | | | Let the Subject prefix be configurable, and default to blank; it doesn't make much sense to prepend [Qt CI] if the mailing list itself already does something similar. Let Reply-To be configurable. The recommended setup is to set it equal to the mailing list address so that replying to a CI report replies to the list by default. Change-Id: I8c11cdf103a53bc2944e1379c882280cce86afff Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Samuli Piippo <samuli.piippo@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* New Jenkins<->Gerrit integrator.Rohan McGovern2012-10-164-0/+815
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This script implements a quality-gate workflow, using Gerrit as the source of commits to be tested, and Jenkins as the testing tool. Features / improvements over the earlier integrator include: - a single process manages all projects, rather than one process per project - no polling required (where network architecture permits); uses gerrit stream-events and jenkins post-build events - no git checkouts required on the machine running the integrator - warnings and errors are automatically buffered and sent as emails - a read-only remote API is available to retrieve the CI state in JSON format This replaces the qt-jenkins-ci.pl script called from within Jenkins, inverting the responsibility; Jenkins is contained within the CI workflow rather than the CI workflow being contained within Jenkins. Since the new integrator requires a lot of functionality in common with other Jenkins-related scripts, some of this was extracted out into new QtQA modules. Change-Id: I8bf28ba9885b04935181b0c48ae2c35c211cce91 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* QtQA::Test::More: fixed 'Modification of a read-only value attempted'Rohan McGovern2012-10-161-2/+2
| | | | | | | | | Make a new @_ rather than directly modifying an element of @_. The latter will fail when we are passed a constant. Change-Id: Ie98e705864b6e7afdb8665665ddff6c494fb6159 Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Differentiate between failures and errors when aborting a test scriptRohan McGovern2012-10-092-24/+82
| | | | | | | | | | | | | | | | | | Previously, fatal_error() was the only way to abort a script with a message to be understood by parse_build_log.pl; however, it makes sense to differentiate between "failure" (we probably found a genuine problem in the software under test) and "error" (something unexpected happened which prevents us from continuing, probably unrelated to the software under test). The main reason to categorize problems as either failures or errors is that it often makes sense to retry and/or notify some responsible CI person on errors, but rarely makes sense to do that on failures. Change-Id: I3b4d71f0431ed06b864b6f576658ada097f13e33 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Make tests work without scripts/lib/perl5 in PERL5LIBRohan McGovern2012-10-055-5/+23
| | | | | | | | | | | | | | The tests and modules were a little inconsistent; some would add the lib directory to the includepath themselves, others expected the caller to take care of it (usually test.pl). Make it consistent: all tests should do it themselves, so that a plain `prove' command can work. Change-Id: I112dd0a1aa966404ab1a3c3b9467dcc83d1ddd0d Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2412-289/+289
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: I0122cd74f6246a5f20eee2b33ceb328df77a32db Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* QtQA::TestScript: ensure $? is set when exe(), exe_qx() returnRohan McGovern2012-07-243-2/+43
| | | | | | | | | | | | | Set $? to the right value after exe() and exe_qx(), for compatibility with system() and qx(). Actually, $? would often end up being set to the correct value already, but we did not enforce, test or document it, and the usage of QtQA::Proc::Reliable could leave the value set incorrectly. Change-Id: Idd0710ec8afb63ae55a9a0e9d0bbeef40b64f5e6 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Fixed 'QtQA::TestScript: scope mismatch' warnings on WindowsRohan McGovern2012-07-232-1/+87
| | | | | | | | | | | | | | | | | | | | The Windows implemention of exe() uses perl threads. When a new Perl thread is created, all objects are cloned into the new thread (by default). This included the ReleaseAction instances returned by the QtQA::TestScript::doing() method. When the exe() threads were destroyed, the ReleaseActions would sometimes be destroyed in a different order than they were created, resulting in spurious 'scope mismatch' warnings. This did not cause any harm other than the warning messages. Since it never makes sense for these ReleaseActions to be cloned into separate threads, replace them with a ReleaseAction subclass opting-out of thread cloning by sub CLONE_SKIP { 1 }. Change-Id: I2d0f2e01a7df3b707a683f7800deff70d2c92c98 Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Fixed ambiguous handling of YAML errors in test logs.Rohan McGovern2012-05-222-4/+5
| | | | | | | | | | | | | We were using the standard "..." marker to denote the end of a YAML document. Unfortunately, a few other places would also generate a line containing "..." and nothing else, making it hard to parse unambiguously (at least when parsing lines in reverse order). Add a comment as well, which is permitted by the YAML spec and makes the formatting unambiguous. Change-Id: Ie0f3d26465f65c4ccf664a81cd05f38f29f79a9c Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Removed own QtQA::QMake::ProjectRohan McGovern2012-05-1117-1906/+0
| | | | | | | | This module now comes from CPAN. Change-Id: I7fc8f1ff23661b6fab994288b2260d142b893afa Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Removed own QtQA::Win32::Status.Rohan McGovern2012-05-112-1354/+0
| | | | | | | | | This module now comes from CPAN. Change-Id: I7cd9b67b13004e3c6c5eee90110083235c5c53d7 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* QtQA::Win32::Status: add a couple of missing tests.Rohan McGovern2012-05-041-0/+2
| | | | | | | | Check what happens if we request non-existent symbols. Change-Id: Ia873fe9c7114d5e6f9335c06a0d112888fbba562 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* QtQA::QMake::Project: output $CWD when a command fails.Rohan McGovern2012-05-011-1/+1
| | | | | | | | | Otherwise, if we're operating on a whole tree of projects at once (e.g. from testplanner), it may be impossible to determine which project is the source of an error. Change-Id: Iee5f078399810d79e32622548f3882583db7bde4 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* QtQA::TestScript: during exe, print CWD and PATH when they changeRohan McGovern2012-04-302-6/+38
| | | | | | | | | | | | We always print each command we run, but we weren't printing the CWD or PATH, making the command log often useless. At each exe(), print the current working directory and PATH if they are different from the last exe(). This makes the logs less ambiguous. Change-Id: I78f5e2b5589889f8e98f2e62ee5697e7e6018499 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Add context information to fatal errors.Rohan McGovern2012-04-232-3/+141
| | | | | | | | | | | | | | | | | | | | If a test script does something like: my $doing = $self->doing( 'compiling Qt' ); $self->configure( ); $self->make( ); $self->make_install( ); , and a fatal error occurs somewhere in there, parse_build_log.pl can now produce a nice summary for gerrit: Compiling Qt failed :( (details here ...) Change-Id: I91517517c7f5af3a0ce313a485bfde91aa15b3cc Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Provide a way to make fatal errors parseable by parse_build_log.plRohan McGovern2012-04-232-21/+115
| | | | | | | | | | | | | | | Rather than explicitly hardcoding every possible error case in parse_build_log.pl, we can introduce our own standard error format for scripts under our control. The new fatal_error function will format a fatal error message so that it is both (reasonably) human-readable, and also robustly readable by parse_build_log.pl, potentially with additional metadata. YAML is used to satisfy the "human and machine readable" quality. Change-Id: I03b3012860376fed406602b5d0e529c1ee0d13c7 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* testplanner: jom compatibility fixesRohan McGovern2012-04-191-0/+3
| | | | | | | | | | | Fixed testplanner for jom. There are a few subtle incompatibilities between nmake and jom. One of them was filed as a bug (QTCREATORBUG-7170) and effectively prevents QtQA::QMake::Project from using jom. Change-Id: I2593fb11dc5f6a618baec3311d09a06ebb7b139b Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Add testplanner, testscheduler.Rohan McGovern2012-04-192-25/+65
| | | | | | | | | | | | | | | | | | | testplanner and testscheduler implement a new way of running tests, outside of the `make' tool. Thus far, `make' has been used to run all autotests. Recently, the lack of flexibility in this approach has become apparent: it's quite difficult to have `make' do something intelligent with CONFIG+=parallel_test. Handling of CONFIG+=insignificant_test is also suboptimal. testscheduler has the immediate benefit over `make check' that it is able to correctly handle CONFIG+=parallel_test for running autotests in parallel. Change-Id: I75d3b804b90cf25271027a4226d4b64933ceb61e Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Provide perl interface to qmake projectsRohan McGovern2012-04-1817-0/+1927
| | | | | | | | | | | | The new QtQA::QMake::Project module provides an API for robustly querying values from a qmake project. The primary use-case is to allow the testrunner to change its behavior based on the content of some CONFIG values, such as insignificant_test or parallel_test. Change-Id: I2fb0edd0d98d69c114ab4a8bf3da4750db53054a Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* testrunner: handle more process status values on WindowsRohan McGovern2012-03-092-0/+1352
| | | | | | | | | Expand the set of known Windows status values to cover everything from ntstatus.h. There are many more values than previously handled, so they've been moved into a separate module. Change-Id: Ic520b2127afb1026ec7915f5e4a09f5686086cc5 Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* QtQA::Proc::Reliable::Win32: fixed handling of (>8)-bit exit codesRohan McGovern2012-03-061-4/+54
| | | | | | | | | | | | | | | | | POSIX uses 16 bits for exit status; 8 bits of that comprise the exit code. Windows, on the other hand, uses a 32-bit exit code. In practice, exit codes larger than 8 bits are used when a process crashes or otherwise exits abnormally. Using perl's normal system(), $?, exit() etc, POSIX semantics are retained, which means portions of the exit code are discarded, effectively destroying information about processes which exit abnormally. Use some native Windows API to avoid this. Change-Id: I5386c80c7785f500d343bd7ee7df1a531a99f274 Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Fixed QtQA::Proc::Reliable::Win32 when passed output from Getopt::LongRohan McGovern2012-02-291-0/+14
| | | | | | | | | | | | | | | | In some cases, Getopt::Long (since 2.37) does not return plain scalars, but rather returns complex objects which happen to stringify to the values passed on the command-line. This is documented. Normally this is no problem, but QtQA::Proc::Reliable::Win32 needs to serialize the arguments to send to another process, and coderefs can't be serialized. So, stringify everything ourselves. Change-Id: Id4b200cf27701fedec44ef7ec980028a1c3a2a9f Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Implemented proper stdout_cb/stderr_cb callbacks on Windows.Rohan McGovern2012-02-293-38/+560
| | | | | | | | | | | | | | | | | | | | | | | The initial implementation of QtQA::Proc::Reliable::Win32 used a trivial and just-barely-good-enough implementation for the stdout/stderr callbacks. That is no longer good enough; we need proper stdout/stderr capturing on Windows to implement output buffering for parallel tests, and to implement the testrunner --tee-logs feature. Therefore, implement stdout_cb/stderr_cb with the same semantics as on Linux and Mac. The main caveat of the implementation is the use of interpreter threads; there is one thread used to run the process, one thread to read STDOUT, and one thread to read STDERR. The usage of threads should not matter in the majority of cases, but some code (e.g. Test::More) may be affected by the presence of multiple threads. Change-Id: Ic3e80afd9b61c79a4c5557c40a7323d1339ba9ef Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Fixed bugs in stdout_cb/stderr_cb callbacks on WindowsRohan McGovern2012-02-291-4/+4
| | | | | | | | | | | | | | | | | The first parameter of the callback is supposed to be the handle (STDOUT or STDERR), not the Proc::Reliable object. This was unnoticed because none of the users of stdout_cb/stderr_cb on Windows are using that parameter. The callback would be activated one time more than necessary, with empty text, due to line splitting regex matching on \z (zero-width end of string). Change-Id: Iccadc4ece285162f3cc7a2b764a694484929ceb0 Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Fixed stdout_cb/stderr_cb stopping on first blank lineRohan McGovern2012-02-231-1/+1
| | | | | | | | | The regex used for iterating over the stdout/stderr lines was incorrectly requiring every line to be at least 1 character in length, so it would incorrectly stop at the first blank linke. Change-Id: Ic3f2811b7fbe6b3be6890ce1c71df770c5f5a18d Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3011-11/+11
| | | | | | | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Note that the "All rights reserved" line has not been removed from the test data for the license checker's selftest, but the extra blank line has been added to those files. Change-Id: Icf3080dcdb51c2cbf0e825f2f374cb9666eea44c Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-2311-11/+11
| | | | | | | | | | | | Replace Nokia contact email address with Qt Project website. Note that the test data for the license checker's selftest are intentionally excluded from this commit, except for the last line of the LGPL-ONLY license text. The test data will be updated when/if the license checker stops allowing the old contact address. Change-Id: I82ef842d2536a4a9bea99832099f53247c8d4b4b Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QtQA::Proc::Reliable: don't retry successful commandsRohan McGovern2012-01-102-1/+14
| | | | | | | | | | If the output of commands matched any "probably junk" patterns, the command would be retried even if it exited with a 0 exit code. Change-Id: Ice728cb135336bba31853924a45f253802bf7a3d Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0511-11/+11
| | | | | | Change-Id: I37b39e61a52db58885e99a4c8f2ba654de09f3c9 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove mentioning of -nokia-developer argumentKai Koehne2012-01-041-1/+1
| | | | | | | | | | The -nokia-developer configure argument will be removed. Use -developer-build instead. Change-Id: I2191262733342d20367d39c35cf6ca5b1f91041e Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* qtmod_test.pl: added support for shadow builds.Rohan McGovern2011-11-181-0/+1
| | | | | | | | | | Introduce a new property, shadowbuild.dir. Shadow builds can be done by setting shadowbuild.dir (build directory) and base.dir (source directory) to two different values. Change-Id: I80bb52e304e5138302f9e91b02ac802dff5e7141 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com>
* QtQA::TestScript: support usage of `QTQA_' prefix for env varsRohan McGovern2011-10-262-13/+38
| | | | | | | | | | | | | It's silly to hardcode `PULSE_' at the beginning of all environment variables when these scripts are entirely unrelated to Pulse. Use a more generic environment variable name by default. A corresponding commit will be made in qtqa/testconfig.git to start using the new variable names. Change-Id: Idd7ac2b4790a6922ac544a04b24c1dbf8523cce9 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* QtQA::TestScript: increased all exe-related verbosity by 1Rohan McGovern2011-08-203-34/+17
| | | | | | | | | | Log the commands we run by default. Without this, it is too hard to figure out what the test script is doing. Change-Id: Idfab17d3dce2f4a72f1e95926b1b677765d46e73 Reviewed-on: http://codereview.qt.nokia.com/3230 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Keith Isdale <keith.isdale@nokia.com>
* Add missing license headersJason McDonald2011-08-1211-0/+452
| | | | | | | | Change-Id: Ie46c826863e546ee2f60796a037cd5c61f9a5192 Reviewed-on: http://codereview.qt.nokia.com/2606 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* testrunner: add support for --timeout option on WindowsRohan McGovern2011-07-311-2/+98
| | | | | | | | | | | | | Use Win32::Job to safely terminate a process (and all child processes) after a timeout. Special care is taken to try to preserve argument processing to be as close as possible to a plain system(@args). Change-Id: I9b552587787f1a4bec3015f985fac27951d8fa05 Reviewed-on: http://codereview.qt.nokia.com/2157 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* testrunner: fixed unstable 15-testrunner-capture-logs.t testRohan McGovern2011-07-281-1/+30
| | | | | | | | | | | | | This test was making assumptions about the order of stdout vs stderr. On very rare occasions, these assumptions would be violated. Carefully rewrite the test so that it will pass regardless of the order of stdout vs stderr interleaving. Change-Id: I1bf1d0575d21d95ea8465ff71df52044ab5996bb Reviewed-on: http://codereview.qt.nokia.com/2236 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Automatically recover from some transient errors in test scriptsRohan McGovern2011-07-2714-18/+2495
| | | | | | | | | | | | | | | | | | | | | | | | | When running complex test procedures, it is unfortunately relatively common that certain types of errors may arise which are unrelated to the code under test. One example of this is a test procedure which attempts to perform a git clone from a remote host. If implemented simply, this test procedure will fail whenever the remote host is undergoing maintenance or a temporary network outage has occurred. This is usually undesirable. This commit adds some infrastructure for test scripts to transparently recover from these types of errors without having to explicitly code for them. Currently handled are various errors from git, ssh and scp relating to network problems. Task: QTQAINFRA-223 Change-Id: I8fb0a505cdbb8ad00f6bd036854b30e24201419b Reviewed-on: http://codereview.qt.nokia.com/644 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>