summaryrefslogtreecommitdiffstats
path: root/src/testlib/qteamcitylogger.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QtMiscUtils: add isAsciiPrintable() helperAhmad Samir2023-03-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | - isAsciiPrintable: borrowed the logic from isPrintable(uchar) in qdebug.cpp, now isPrintable(uchar) calls isAsciiPrintable - Replace ::isspace() with ascii_isspace() from qlocale_p.h Functions from ctype.h have a couple of issues: - they're locale-dependent, which isn't what's required here, the code is only interested in ASCII - their args should be representable as uchar or EOF otherwise it's undefined behavior An Early-Warning could use something like: grep -rP "\b(isalnum|isalpha|isblank|iscntrl|isdigit|islower|isgraph|\ "isprint|ispunct|isspace|isupper|isxdigit|tolower|toupper)\b" Pick-to: 6.5 Task-number: QTBUG-111262 Change-Id: I1f47f41bd56735297078ff0d0ddc2ebf999abf8b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTestlib: Disambiguate static functionsFriedemann Kleint2023-01-231-4/+4
| | | | | | | | | They cause clashes in CMake Unity (Jumbo) builds. Task-number: QTBUG-109394 Pick-to: 6.5 Change-Id: I2920cc3f36ad60be1ee618c16653df5bc259019a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QTeamCityLogger: fix build (INT_MAX undefined)Thiago Macieira2022-09-161-0/+1
| | | | | Change-Id: If4c23ea3719947d790d4fffd171525faa9f9ae09 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Include global data tags in teamcity's test function namesEdward Welbourne2022-09-131-8/+2
| | | | | | | | | | | | Use the standard mechanism instead of a hand-rolled way of identifying function/data-tag combinations. Adds missing data relevant to identifying test cases, some of which previously had apparently the same name, with no hint at why the test-case was seemingly run repeatedly. Change-Id: I6225c6d1990069c94a1f1c8dbb179993b96076e7 Reviewed-by: Jason McDonald <macadder1@gmail.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Convert teamcity logger to use QTestCharBufferEdward Welbourne2022-09-131-69/+108
| | | | | | | | | | | All our other loggers use it and teamcity's use of QString implied lots of conversions from UTF-8 and back, or in some cases to native encoding, that ended up failing to correctly propagate Unicode tokens that the other test loggers do deal with correctly. This does not change the generated output on Linux. Change-Id: I036d8043d7b3b19e7a0e1f296a23628f98223563 Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Use SPDX license identifiersLucie Gérard2022-05-161-39/+3
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QTeamCityLogger: fix .arg() placeholder injectionMarc Mutz2022-05-041-3/+2
| | | | | | | | | | | | | | Since each .arg() call starts from scratch, a file name containing a suitable %n would mess up the formatting of the following .arg() call. Fix by using multiArg(), which requires to pre-format the line into a QString, but which performs only a single-pass, so doesn't suffer from the placeholder injection problem that plagues .arg()-chaining. Pick-to: 6.3 6.2 5.15 Change-Id: I549527643da657fca0bea63d5e3becadac529d4b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* QtTestLib: replace QLatin1String uses with _L1/_s/QStringLiteralSona Kurazyan2022-05-021-22/+24
| | | | | | | Task-number: QTBUG-98434 Change-Id: Ie327fd4af1880002e5a1e09b43384f2b709625e7 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Document what QtTest's various loggers doEdward Welbourne2022-03-221-1/+8
| | | | | | | | | Provide basic (internal) documentation of each logging class and link the command-line documentation to pages relevant to the formats not defined by Qt. Change-Id: I3251dd1304203c6ab87dfe1f2dec0e9787ab69f8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Use QLatin1String::arg() directlyEdward Welbourne2021-12-091-18/+12
| | | | | | | | No need to wrap the QLatin1String in a QString() to get at arg now. Change-Id: Iac90e052b88077b9c2bd3e7eca6bc31935baa4b8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove spurious class prefixes from subclass codeEdward Welbourne2021-12-091-3/+3
| | | | | | | | | The subclass's code can refer to the base's public enums without needing the (long) class prefix. Change-Id: I4824440d216695aee9345776faba2e510130425e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Ignore blackisted Pass and XFail when ignoring their plain formsEdward Welbourne2021-12-091-2/+2
| | | | | | | | | | | It makes no sense to include output for a blacklisted test that would have been excluded had it not been blacklisted. Task-number: QTBUG-96844 Change-Id: I164e0c26a921101cbf8986904851260d181be00f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Make Skip an incident in test loggingEdward Welbourne2021-12-091-22/+17
| | | | | | | | | | | | | | | Skip ends the test (albeit inconclusively). Rearrange the enums in the abstract logger, move code to handle skip between relevant function and tidy up various things that became simpler as a result. Also reorder the message enum, and its switches, to separate testlib's internals from the usual Qt messages, and put each group in ascending order of severity. Task-number: QTBUG-96844 Change-Id: I2c7a634b9f849830d64eafa750155e66e244b729 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* testlib: Rename QAbstractTestLogger::QSystem to QCriticalTor Arne Vestbø2021-08-101-2/+2
| | | | | | | | | | | | | It's used to handle qCritical() messages, and corresponds to QtMsgType's QtCriticalMsg, so change its name to reflect what it really is. In the process, reclassify the -maxwarnings overflow message as a warning, rather than a critical message. Pick-to: 6.2 Change-Id: I87626117a547ae4498d5dc352b93bd6db8bfb332 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QTestLib: Fix various clang warningsFriedemann Kleint2019-07-291-3/+1
| | | | | | | | | | | | - Fix else after return/break - Fix use of int as boolean literal - Use range-based for in some cases - Avoid copies by using const-ref - Remove unnecessary null-check before delete Task-number: QTBUG-69413 Change-Id: I69f46e6deaa55ef70a8b3a61e6539c79a64aaa23 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QTestLib: Fix class declarations/structureFriedemann Kleint2019-07-111-3/+1
| | | | | | | | | | | | - Remove virtual from functions declared as override - Use " = default" for trivial constructors/destructors - Remove all special functions from QTestLog Apply Fixits by Qt Creator with some amendments. Task-number: QTBUG-69413 Change-Id: I812b8116e5b4c927e4e5cee44e63bc705385d866 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Replace qMove with std::moveAllan Sandfeld Jensen2019-04-061-1/+1
| | | | | | Change-Id: I67df3ae6b5db0a158f86e75b99f422bd13853bc9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* testlib: Add BXPASS and BXFAILOliver Wolff2019-01-291-0/+4
| | | | | | | | | | | | | | | Prioritize blacklisting over QEXPECT_FAIL so that a test that is blacklisted no longer fails if QEXPECT_FAIL returns true unexpectedly. To reflect this state properly, the two values of BXPASS and BXFAIL were added to testlib's output. [ChangeLog][Important Behavior Changes][QtTestLib] Blacklisting of tests will be taken into account for XPASS and XFAIL. A blacklisted test that causes an XPASS will no longer be a fail. Task-number: QTBUG-72928 Change-Id: Ia2232fdc714d405fa3fd9aea6c89eb2836bc5950 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add flowId to messages when logging in TeamCity formatBorgar Ovsthus2017-08-041-13/+12
| | | | | | | | | | | | Added flowId='name' to each message when using TeamCity logging format. This is necessary to distinguish separate processes running in parallel. [ChangeLog][QtTest] Added flowId to messages when logging in TeamCity format. FlowId is used to distinguish logging from multiple processes running in parallel. Change-Id: I7f5046c1058ff02770404caa2c9b3a5398f97f6b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use QString::asprintf(), QStringBuilder, and the multi-arg overload of ↵Alexander Volkov2017-01-121-15/+8
| | | | | | | | | | | | | QString::arg() ... instead of sequential .arg(const QString &) callings. It saves memory allocations and prevents unexpected results if replacing strings contain place markers. Found with clazy's qstring-arg check. Change-Id: I3912275a6e11c6fb7559ff5623f2e8cde9b7f07a Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Replace QLatin1Literal with QLatin1StringAnton Kudryavtsev2016-09-031-6/+6
| | | | | | | | | | QLatin1Literal is just alias of QLatin1String for Qt4 compatibility. So it's style cleanup patch. Change-Id: Ia3b3e5dc3169f13a1ef819d69be576b8a8bfb258 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add TeamCity logging feature to testlibBorgar Ovsthus2016-01-231-0/+292
This allows TeamCity to parse realtime test-results instead of using post-build XML Report Processing. This does not support logging of benchmarks. [ChangeLog][QTest] Added a new logging mode that allow test-results to be parsed on-the-fly when using Jetbrains TeamCity as CI-server. This mode is enabled by using the -teamcity option on the command-line. Change-Id: Ie730beb643043eb0f448f99abe6c0b5ac48aaf03 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>