TAP test logger: move messages into the diagnostics block
Our TAP output was delivering messages as comments before the test line, where TAP clearly expects the details of a test to follow its test line. Version 13 provides a YAML block to deliver diagnostics and encourages use of this, so accumulate our messages in a QTestCharBuffer instead of emitting them one by one. However, messages produced after a test has produced its test line belong to that test, but are too late to be included in its diagnostics block, so should be emitted immediately as before, albeit now with a type prefix. This at least separates such messages, from the end of one test, from messages produced early in the next. In the process, add a type-prefix to each, to make clear what type of message it was. Since the Yamlish supported by TAP consumers doesn't support a way to have many messages, use the extensions: top-level hash tag with a messages: sub-tag to gather our messages as a list. (This expands at least one expected output file significantly and substantially rewrites some others.) Add methods to QTestCharBuffer, and a helper function, to support this. Task-number: QTBUG-96844 Change-Id: If44a33da5879ed1670ef0980042599afd516f9d2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
parent
d329a98fa9
commit
ae37fa0464
@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2021 The Qt Company Ltd.
|
||||
** Copyright (C) 2022 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QtTest module of the Qt Toolkit.
|
||||
@ -399,6 +399,11 @@ void QAbstractTestLogger::addMessage(QtMsgType type, const QMessageLogContext &c
|
||||
addMessage(messageType, formattedMessage);
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
constexpr int MAXSIZE = 1024 * 1024 * 2;
|
||||
}
|
||||
|
||||
namespace QTest
|
||||
{
|
||||
|
||||
@ -408,7 +413,6 @@ namespace QTest
|
||||
*/
|
||||
int qt_asprintf(QTestCharBuffer *str, const char *format, ...)
|
||||
{
|
||||
constexpr int MAXSIZE = 1024 * 1024 * 2;
|
||||
Q_ASSERT(str);
|
||||
int size = str->size();
|
||||
Q_ASSERT(size > 0);
|
||||
@ -456,6 +460,28 @@ void generateTestIdentifier(QTestCharBuffer *identifier, int parts)
|
||||
globalDataTag, tagFiller, dataTag, testFuctionEnd);
|
||||
}
|
||||
|
||||
// strcat() for QTestCharBuffer objects:
|
||||
bool appendCharBuffer(QTestCharBuffer *accumulator, const QTestCharBuffer &more)
|
||||
{
|
||||
const auto bufsize = [](const QTestCharBuffer &buf) -> int {
|
||||
const int max = buf.size();
|
||||
return max > 0 ? int(qstrnlen(buf.constData(), max)) : 0;
|
||||
};
|
||||
const int extra = bufsize(more);
|
||||
if (extra <= 0)
|
||||
return true; // Nothing to do, fatuous success
|
||||
|
||||
const int oldsize = bufsize(*accumulator);
|
||||
const int newsize = oldsize + extra + 1; // 1 for final '\0'
|
||||
if (newsize > MAXSIZE || !accumulator->resize(newsize))
|
||||
return false; // too big or unable to grow
|
||||
|
||||
char *tail = accumulator->data() + oldsize;
|
||||
memcpy(tail, more.constData(), extra);
|
||||
tail[extra] = '\0';
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2021 The Qt Company Ltd.
|
||||
** Copyright (C) 2022 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QtTest module of the Qt Toolkit.
|
||||
@ -53,6 +53,7 @@
|
||||
|
||||
#include <QtTest/qttestglobal.h>
|
||||
#include <QtCore/private/qglobal_p.h>
|
||||
#include <QtCore/qbytearrayalgorithms.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -155,12 +156,14 @@ struct QTestCharBuffer
|
||||
return _size;
|
||||
}
|
||||
|
||||
inline bool reset(int newSize)
|
||||
bool reset(int newSize, bool copy = false)
|
||||
{
|
||||
char *newBuf = nullptr;
|
||||
if (buf == staticBuf) {
|
||||
// if we point to our internal buffer, we need to malloc first
|
||||
newBuf = reinterpret_cast<char *>(malloc(newSize));
|
||||
if (copy && newBuf)
|
||||
qstrncpy(newBuf, buf, _size);
|
||||
} else {
|
||||
// if we already malloc'ed, just realloc
|
||||
newBuf = reinterpret_cast<char *>(realloc(buf, newSize));
|
||||
@ -175,6 +178,13 @@ struct QTestCharBuffer
|
||||
return true;
|
||||
}
|
||||
|
||||
bool resize(int newSize) {
|
||||
return newSize <= _size || reset(newSize, true);
|
||||
}
|
||||
|
||||
void clear() { buf[0] = '\0'; }
|
||||
bool isEmpty() { return buf[0] == '\0'; }
|
||||
|
||||
private:
|
||||
int _size = InitialSize;
|
||||
char* buf;
|
||||
@ -190,6 +200,7 @@ namespace QTestPrivate
|
||||
{
|
||||
enum IdentifierPart { TestObject = 0x1, TestFunction = 0x2, TestDataTag = 0x4, AllParts = 0xFFFF };
|
||||
void Q_TESTLIB_EXPORT generateTestIdentifier(QTestCharBuffer *identifier, int parts = AllParts);
|
||||
bool appendCharBuffer(QTestCharBuffer *accumulator, const QTestCharBuffer &more);
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -164,33 +164,84 @@ void QTapTestLogger::stopLogging()
|
||||
|
||||
void QTapTestLogger::enterTestFunction(const char *function)
|
||||
{
|
||||
Q_UNUSED(function);
|
||||
m_wasExpectedFail = false;
|
||||
Q_ASSERT(!m_gatherMessages);
|
||||
Q_ASSERT(!hasMessages());
|
||||
m_gatherMessages = function != nullptr;
|
||||
}
|
||||
|
||||
void QTapTestLogger::enterTestData(QTestData *data)
|
||||
{
|
||||
Q_UNUSED(data);
|
||||
m_wasExpectedFail = false;
|
||||
if (hasMessages())
|
||||
flushMessages();
|
||||
m_gatherMessages = data != nullptr;
|
||||
}
|
||||
|
||||
using namespace QTestPrivate;
|
||||
|
||||
void QTapTestLogger::outputTestLine(bool ok, int testNumber, QTestCharBuffer &directive)
|
||||
void QTapTestLogger::outputTestLine(bool ok, int testNumber, const QTestCharBuffer &directive)
|
||||
{
|
||||
QTestCharBuffer testIdentifier;
|
||||
QTestPrivate::generateTestIdentifier(&testIdentifier, TestFunction | TestDataTag);
|
||||
|
||||
QTestCharBuffer testLine;
|
||||
QTest::qt_asprintf(&testLine, "%s %d - %s%s\n",
|
||||
ok ? "ok" : "not ok", testNumber, testIdentifier.data(), directive.data());
|
||||
QTest::qt_asprintf(&testLine, "%s %d - %s%s\n", ok ? "ok" : "not ok",
|
||||
testNumber, testIdentifier.data(), directive.constData());
|
||||
|
||||
outputString(testLine.data());
|
||||
}
|
||||
|
||||
// The indent needs to be two spaces for maximum compatibility.
|
||||
// This matches the width of the "- " prefix on a list item's first line.
|
||||
#define YAML_INDENT " "
|
||||
|
||||
void QTapTestLogger::outputBuffer(const QTestCharBuffer &buffer)
|
||||
{
|
||||
if (!m_gatherMessages)
|
||||
outputString(buffer.constData());
|
||||
else if (buffer.constData()[strlen(YAML_INDENT)] == '#')
|
||||
QTestPrivate::appendCharBuffer(&m_comments, buffer);
|
||||
else
|
||||
QTestPrivate::appendCharBuffer(&m_messages, buffer);
|
||||
}
|
||||
|
||||
void QTapTestLogger::beginYamlish()
|
||||
{
|
||||
outputString(YAML_INDENT "---\n");
|
||||
// Flush any accumulated messages:
|
||||
if (!m_comments.isEmpty()) {
|
||||
outputString(m_comments.constData());
|
||||
m_comments.clear();
|
||||
}
|
||||
if (!m_messages.isEmpty()) {
|
||||
outputString(YAML_INDENT "extensions:\n");
|
||||
outputString(YAML_INDENT YAML_INDENT "messages:\n");
|
||||
outputString(m_messages.constData());
|
||||
m_messages.clear();
|
||||
}
|
||||
}
|
||||
|
||||
void QTapTestLogger::endYamlish()
|
||||
{
|
||||
outputString(YAML_INDENT "...\n");
|
||||
}
|
||||
|
||||
void QTapTestLogger::flushMessages()
|
||||
{
|
||||
/* A _data() function's messages show up here. */
|
||||
QTestCharBuffer dataLine;
|
||||
QTest::qt_asprintf(&dataLine, "ok %d - %s() # Data prepared\n",
|
||||
QTestLog::totalCount(), QTestResult::currentTestFunction());
|
||||
outputString(dataLine.constData());
|
||||
beginYamlish();
|
||||
endYamlish();
|
||||
}
|
||||
|
||||
void QTapTestLogger::addIncident(IncidentTypes type, const char *description,
|
||||
const char *file, int line)
|
||||
{
|
||||
m_gatherMessages = false;
|
||||
if (m_wasExpectedFail && (type == Pass || type == BlacklistedPass
|
||||
|| type == XFail || type == BlacklistedXFail)) {
|
||||
// XFail comes with a corresponding Pass incident, but we only want
|
||||
@ -233,16 +284,12 @@ void QTapTestLogger::addIncident(IncidentTypes type, const char *description,
|
||||
|
||||
outputTestLine(ok, testNumber, directive);
|
||||
|
||||
if (!ok) {
|
||||
// All failures need a diagnostics section to not confuse consumers
|
||||
if (!ok || hasMessages()) {
|
||||
// All failures need a diagnostics section to not confuse consumers.
|
||||
// We also need a diagnostics section when we have messages to report.
|
||||
beginYamlish();
|
||||
|
||||
// The indent needs to be two spaces for maximum compatibility.
|
||||
// This matches the width of the "- " prefix on a list item's first line.
|
||||
#define YAML_INDENT " "
|
||||
|
||||
outputString(YAML_INDENT "---\n");
|
||||
|
||||
if (type != XFail && type != BlacklistedXFail) {
|
||||
if (!ok && type != XFail && type != BlacklistedXFail) {
|
||||
#if QT_CONFIG(regularexpression)
|
||||
// This is fragile, but unfortunately testlib doesn't plumb
|
||||
// the expected and actual values to the loggers (yet).
|
||||
@ -297,17 +344,17 @@ void QTapTestLogger::addIncident(IncidentTypes type, const char *description,
|
||||
qPrintable(expected), qPrintable(actual)
|
||||
);
|
||||
|
||||
outputString(diagnosticsYamlish.data());
|
||||
outputBuffer(diagnosticsYamlish);
|
||||
} else
|
||||
#endif
|
||||
if (description && !incident) {
|
||||
QTestCharBuffer unparsableDescription;
|
||||
QTest::qt_asprintf(&unparsableDescription, YAML_INDENT "# %s\n", description);
|
||||
outputString(unparsableDescription.data());
|
||||
outputBuffer(unparsableDescription);
|
||||
}
|
||||
}
|
||||
|
||||
if (file) {
|
||||
if (!ok && file) {
|
||||
QTestCharBuffer location;
|
||||
QTest::qt_asprintf(&location,
|
||||
// The generic 'at' key is understood by most consumers.
|
||||
@ -322,10 +369,10 @@ void QTapTestLogger::addIncident(IncidentTypes type, const char *description,
|
||||
QTestResult::currentTestFunction(),
|
||||
file, line, file, line
|
||||
);
|
||||
outputString(location.data());
|
||||
outputBuffer(location);
|
||||
}
|
||||
|
||||
outputString(YAML_INDENT "...\n");
|
||||
endYamlish();
|
||||
}
|
||||
}
|
||||
|
||||
@ -334,11 +381,38 @@ void QTapTestLogger::addMessage(MessageTypes type, const QString &message,
|
||||
{
|
||||
Q_UNUSED(file);
|
||||
Q_UNUSED(line);
|
||||
Q_UNUSED(type);
|
||||
const char *const flavor = [type]() {
|
||||
switch (type) {
|
||||
case QDebug: return "debug";
|
||||
case QInfo: return "info";
|
||||
case QWarning: return "warning";
|
||||
case QCritical: return "critical";
|
||||
case QFatal: return "fatal";
|
||||
// Handle internal messages as comments
|
||||
case Info: return "# inform";
|
||||
case Warn: return "# warn";
|
||||
}
|
||||
return "unrecognised message";
|
||||
}();
|
||||
|
||||
QTestCharBuffer diagnostics;
|
||||
QTest::qt_asprintf(&diagnostics, "# %s\n", qPrintable(message));
|
||||
outputString(diagnostics.data());
|
||||
QTestCharBuffer diagnostic;
|
||||
if (!m_gatherMessages) {
|
||||
QTest::qt_asprintf(&diagnostic, "%s%s: %s\n",
|
||||
flavor[0] == '#' ? "" : "# ",
|
||||
flavor, qPrintable(message));
|
||||
outputString(diagnostic.constData());
|
||||
} else if (flavor[0] == '#') {
|
||||
QTest::qt_asprintf(&diagnostic, YAML_INDENT "%s: %s\n",
|
||||
flavor, qPrintable(message));
|
||||
QTestPrivate::appendCharBuffer(&m_comments, diagnostic);
|
||||
} else {
|
||||
// These shall appear in a messages: sub-block of the extensions: block,
|
||||
// so triple-indent.
|
||||
QTest::qt_asprintf(&diagnostic, YAML_INDENT YAML_INDENT "- severity: %s\n"
|
||||
YAML_INDENT YAML_INDENT YAML_INDENT "message: %s\n",
|
||||
flavor, qPrintable(message));
|
||||
QTestPrivate::appendCharBuffer(&m_messages, diagnostic);
|
||||
}
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2018 The Qt Company Ltd.
|
||||
** Copyright (C) 2022 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QtTest module of the Qt Toolkit.
|
||||
@ -76,8 +76,16 @@ public:
|
||||
|
||||
void addBenchmarkResult(const QBenchmarkResult &) override {}
|
||||
private:
|
||||
void outputTestLine(bool ok, int testNumber, QTestCharBuffer &directive);
|
||||
void outputTestLine(bool ok, int testNumber, const QTestCharBuffer &directive);
|
||||
void outputBuffer(const QTestCharBuffer &buffer);
|
||||
bool hasMessages() const { return m_comments.constData()[0] || m_messages.constData()[0]; }
|
||||
void flushMessages();
|
||||
void beginYamlish();
|
||||
void endYamlish();
|
||||
bool m_wasExpectedFail;
|
||||
QTestCharBuffer m_comments;
|
||||
QTestCharBuffer m_messages;
|
||||
bool m_gatherMessages = false;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -2,9 +2,12 @@ TAP version 13
|
||||
# tst_Assert
|
||||
ok 1 - initTestCase()
|
||||
ok 2 - testNumber1()
|
||||
# ASSERT: "false" in file qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp, line 0
|
||||
not ok 3 - testNumber2()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: fatal
|
||||
message: ASSERT: "false" in file qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp, line 0
|
||||
# Received a fatal error.
|
||||
at: tst_Assert::testNumber2() (qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/assert/tst_assert.cpp
|
||||
|
@ -1,8 +1,13 @@
|
||||
TAP version 13
|
||||
# tst_Blacklisted
|
||||
ok 1 - initTestCase()
|
||||
# This test should BPASS
|
||||
ok 2 - pass() # TODO
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: This test should BPASS
|
||||
...
|
||||
ok 3 - skip() # SKIP This test should SKIP
|
||||
not ok 4 - fail() # TODO 'false' returned FALSE. (This test should BFAIL)
|
||||
---
|
||||
@ -128,8 +133,13 @@ not ok 12 - xpassContinueFail() # TODO This fail should be seen and not counted
|
||||
file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
|
||||
line: 0
|
||||
...
|
||||
# Totals should add up to 13: 2 passed, 0 failed, 3 skipped, 8 blacklisted
|
||||
ok 13 - cleanupTestCase()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: Totals should add up to 13: 2 passed, 0 failed, 3 skipped, 8 blacklisted
|
||||
...
|
||||
1..13
|
||||
# tests 13
|
||||
# pass 2
|
||||
|
@ -1,18 +1,30 @@
|
||||
TAP version 13
|
||||
# tst_DataTable
|
||||
ok 1 - initTestCase()
|
||||
# QVERIFY(test)
|
||||
ok 2 - fiveTablePasses(fiveTablePasses_data1)
|
||||
# QVERIFY(test)
|
||||
---
|
||||
# inform: QVERIFY(test)
|
||||
...
|
||||
ok 3 - fiveTablePasses(fiveTablePasses_data2)
|
||||
# QVERIFY(test)
|
||||
---
|
||||
# inform: QVERIFY(test)
|
||||
...
|
||||
ok 4 - fiveTablePasses(fiveTablePasses_data3)
|
||||
# QVERIFY(test)
|
||||
---
|
||||
# inform: QVERIFY(test)
|
||||
...
|
||||
ok 5 - fiveTablePasses(fiveTablePasses_data4)
|
||||
# QVERIFY(test)
|
||||
---
|
||||
# inform: QVERIFY(test)
|
||||
...
|
||||
ok 6 - fiveTablePasses(fiveTablePasses_data5)
|
||||
# QVERIFY(test)
|
||||
---
|
||||
# inform: QVERIFY(test)
|
||||
...
|
||||
ok 7 - fiveTablePasses(fiveTablePasses_data1)
|
||||
---
|
||||
# inform: QVERIFY(test)
|
||||
...
|
||||
ok 8 - cleanupTestCase()
|
||||
1..8
|
||||
# tests 8
|
||||
|
@ -95,9 +95,12 @@ not ok 21 - testFailInInit(fail)
|
||||
...
|
||||
ok 22 - testFailInInit(after)
|
||||
ok 23 - testFailInCleanup(before)
|
||||
# This test function should execute and then QFAIL in cleanup()
|
||||
not ok 24 - testFailInCleanup(fail)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: This test function should execute and then QFAIL in cleanup()
|
||||
# Fail in cleanup()
|
||||
at: tst_Counting::testFailInCleanup() (qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp
|
||||
@ -108,8 +111,13 @@ ok 26 - testSkipInInit(before)
|
||||
ok 27 - testSkipInInit(skip) # SKIP Skip in init()
|
||||
ok 28 - testSkipInInit(after)
|
||||
ok 29 - testSkipInCleanup(before)
|
||||
# This test function should execute and then QSKIP in cleanup()
|
||||
ok 30 - testSkipInCleanup(skip) # SKIP Skip in cleanup()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: This test function should execute and then QSKIP in cleanup()
|
||||
...
|
||||
ok 31 - testSkipInCleanup(after)
|
||||
ok 32 - cleanupTestCase()
|
||||
1..32
|
||||
|
@ -1,17 +1,23 @@
|
||||
TAP version 13
|
||||
# tst_ExpectFail
|
||||
ok 1 - initTestCase()
|
||||
# begin
|
||||
not ok 2 - xfailAndContinue() # TODO This should xfail
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: begin
|
||||
at: tst_ExpectFail::xfailAndContinue() (qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp
|
||||
line: 0
|
||||
...
|
||||
# after
|
||||
# begin
|
||||
# debug: after
|
||||
not ok 3 - xfailAndAbort() # TODO This should xfail
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: begin
|
||||
at: tst_ExpectFail::xfailAndAbort() (qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp
|
||||
line: 0
|
||||
@ -113,10 +119,20 @@ not ok 23 - xfailDataDrivenWithQCompare(Fail Continue) # TODO This test should x
|
||||
file: qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp
|
||||
line: 0
|
||||
...
|
||||
# Should pass (*not* xpass), despite test-case name
|
||||
ok 24 - xfailOnWrongRow(Fail Abort)
|
||||
# Should pass (*not* xpass), despite test-case name
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: Should pass (*not* xpass), despite test-case name
|
||||
...
|
||||
ok 25 - xfailOnWrongRow(Fail Continue)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: Should pass (*not* xpass), despite test-case name
|
||||
...
|
||||
not ok 26 - xfailOnAnyRow(Fail Abort) # TODO This test should xfail
|
||||
---
|
||||
at: tst_ExpectFail::xfailOnAnyRow() (qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp:0)
|
||||
@ -129,21 +145,27 @@ not ok 27 - xfailOnAnyRow(Fail Continue) # TODO This test should xfail
|
||||
file: qtbase/tests/auto/testlib/selftests/expectfail/tst_expectfail.cpp
|
||||
line: 0
|
||||
...
|
||||
# Should fail (*not* xfail), despite test-case name
|
||||
not ok 28 - xfailWithoutCheck(Fail Abort)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: Should fail (*not* xfail), despite test-case name
|
||||
# QEXPECT_FAIL was called without any subsequent verification statements
|
||||
...
|
||||
# Should fail (*not* xfail), despite test-case name
|
||||
not ok 29 - xfailWithoutCheck(Fail Continue)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: Should fail (*not* xfail), despite test-case name
|
||||
# QEXPECT_FAIL was called without any subsequent verification statements
|
||||
...
|
||||
ok 30 - xpassAbort() # TODO 'true' returned TRUE unexpectedly. ()
|
||||
ok 31 - xpassAbortSkip() # TODO 'true' returned TRUE unexpectedly. ()
|
||||
ok 32 - xpassAbortXfailContinue() # TODO 'true' returned TRUE unexpectedly. ()
|
||||
ok 33 - xpassContinue() # TODO 'true' returned TRUE unexpectedly. ()
|
||||
# This should be reached
|
||||
# debug: This should be reached
|
||||
ok 34 - xpassContinueSkip() # TODO 'true' returned TRUE unexpectedly. ()
|
||||
ok 34 - xpassContinueSkip() # SKIP This should be reached but not increment skip-count
|
||||
ok 35 - xpassContinueXfailAbort() # TODO 'true' returned TRUE unexpectedly. ()
|
||||
@ -156,17 +178,32 @@ not ok 36 - xpassContinueXfailAbort() # TODO This test should xfail but not add
|
||||
ok 36 - xpassAbortDataDrivenWithQVerify(XPass) # TODO 'true' returned TRUE unexpectedly. ()
|
||||
ok 37 - xpassAbortDataDrivenWithQVerify(Pass)
|
||||
ok 38 - xpassContinueDataDrivenWithQVerify(XPass) # TODO 'true' returned TRUE unexpectedly. ()
|
||||
# Test should Continue past XPASS
|
||||
# Test should simply PASS
|
||||
# debug: Test should Continue past XPASS
|
||||
ok 39 - xpassContinueDataDrivenWithQVerify(Pass)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: Test should simply PASS
|
||||
...
|
||||
ok 40 - xpassAbortDataDrivenWithQCompare(XPass) # TODO QCOMPARE(1, 1) returned TRUE unexpectedly.
|
||||
ok 41 - xpassAbortDataDrivenWithQCompare(Pass)
|
||||
ok 42 - xpassContinueDataDrivenWithQCompare(XPass) # TODO QCOMPARE(1, 1) returned TRUE unexpectedly.
|
||||
# Test should Continue past XPASS
|
||||
# Test should simply PASS
|
||||
# debug: Test should Continue past XPASS
|
||||
ok 43 - xpassContinueDataDrivenWithQCompare(Pass)
|
||||
# Totals should add up to 44: 23 passed, 17 failed, 4 skipped
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: Test should simply PASS
|
||||
...
|
||||
ok 44 - cleanupTestCase()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: Totals should add up to 44: 23 passed, 17 failed, 4 skipped
|
||||
...
|
||||
1..44
|
||||
# tests 44
|
||||
# pass 23
|
||||
|
@ -1,10 +1,14 @@
|
||||
TAP version 13
|
||||
# tst_FailDataType
|
||||
ok 1 - initTestCase()
|
||||
# expected data of type 'QString', got 'bool' for element 0 of data with tag 'bool-as-string'
|
||||
# ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0
|
||||
not ok 2 - value()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: expected data of type 'QString', got 'bool' for element 0 of data with tag 'bool-as-string'
|
||||
- severity: fatal
|
||||
message: ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0
|
||||
# Received a fatal error.
|
||||
at: tst_FailDataType::value() (qtbase/src/testlib/qtestdata.cpp:0)
|
||||
file: qtbase/src/testlib/qtestdata.cpp
|
||||
|
@ -1,9 +1,12 @@
|
||||
TAP version 13
|
||||
# tst_FailFetchType
|
||||
ok 1 - initTestCase()
|
||||
# Requested type 'QString' does not match available type 'bool'.
|
||||
not ok 2 - fetch(bool)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: fatal
|
||||
message: Requested type 'QString' does not match available type 'bool'.
|
||||
# Received a fatal error.
|
||||
...
|
||||
1..2
|
||||
|
@ -1,9 +1,12 @@
|
||||
TAP version 13
|
||||
# tst_FetchBogus
|
||||
ok 1 - initTestCase()
|
||||
# QFETCH: Requested testdata 'bubu' not available, check your _data function.
|
||||
not ok 2 - fetchBogus(foo)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: fatal
|
||||
message: QFETCH: Requested testdata 'bubu' not available, check your _data function.
|
||||
# Received a fatal error.
|
||||
...
|
||||
1..2
|
||||
|
@ -1,8 +1,10 @@
|
||||
TAP version 13
|
||||
# FindTestData
|
||||
ok 1 - initTestCase()
|
||||
# testdata testfile could not be located!
|
||||
ok 2 - paths()
|
||||
---
|
||||
# warn: testdata testfile could not be located!
|
||||
...
|
||||
ok 3 - cleanupTestCase()
|
||||
1..3
|
||||
# tests 3
|
||||
|
@ -1,56 +1,142 @@
|
||||
TAP version 13
|
||||
# tst_globaldata
|
||||
# initTestCase initTestCase (null)
|
||||
ok 1 - initTestCase()
|
||||
# init testGlobal local=false
|
||||
# global: false
|
||||
# local: false
|
||||
# cleanup testGlobal local=false
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: initTestCase initTestCase (null)
|
||||
...
|
||||
ok 2 - testGlobal(global=false:local=false)
|
||||
# init testGlobal local=true
|
||||
# global: false
|
||||
# local: true
|
||||
# cleanup testGlobal local=true
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init testGlobal local=false
|
||||
- severity: debug
|
||||
message: global: false
|
||||
- severity: debug
|
||||
message: local: false
|
||||
- severity: debug
|
||||
message: cleanup testGlobal local=false
|
||||
...
|
||||
ok 3 - testGlobal(global=false:local=true)
|
||||
# init testGlobal local=false
|
||||
# global: true
|
||||
# local: false
|
||||
# cleanup testGlobal local=false
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init testGlobal local=true
|
||||
- severity: debug
|
||||
message: global: false
|
||||
- severity: debug
|
||||
message: local: true
|
||||
- severity: debug
|
||||
message: cleanup testGlobal local=true
|
||||
...
|
||||
ok 4 - testGlobal(global=true:local=false)
|
||||
# init testGlobal local=true
|
||||
# global: true
|
||||
# local: true
|
||||
# cleanup testGlobal local=true
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init testGlobal local=false
|
||||
- severity: debug
|
||||
message: global: true
|
||||
- severity: debug
|
||||
message: local: false
|
||||
- severity: debug
|
||||
message: cleanup testGlobal local=false
|
||||
...
|
||||
ok 5 - testGlobal(global=true:local=true)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init testGlobal local=true
|
||||
- severity: debug
|
||||
message: global: true
|
||||
- severity: debug
|
||||
message: local: true
|
||||
- severity: debug
|
||||
message: cleanup testGlobal local=true
|
||||
...
|
||||
ok 6 - skip(global=false) # SKIP skipping
|
||||
# init skipLocal local=false
|
||||
ok 7 - skipLocal(global=false:local=false) # SKIP skipping
|
||||
# cleanup skipLocal local=false
|
||||
# init skipLocal local=true
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init skipLocal local=false
|
||||
...
|
||||
# debug: cleanup skipLocal local=false
|
||||
ok 8 - skipLocal(global=false:local=true) # SKIP skipping
|
||||
# cleanup skipLocal local=true
|
||||
# init skipLocal local=false
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init skipLocal local=true
|
||||
...
|
||||
# debug: cleanup skipLocal local=true
|
||||
ok 9 - skipLocal(global=true:local=false) # SKIP skipping
|
||||
# cleanup skipLocal local=false
|
||||
# init skipLocal local=true
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init skipLocal local=false
|
||||
...
|
||||
# debug: cleanup skipLocal local=false
|
||||
ok 10 - skipLocal(global=true:local=true) # SKIP skipping
|
||||
# cleanup skipLocal local=true
|
||||
# init skipSingle local=false
|
||||
# global: false local: false
|
||||
# cleanup skipSingle local=false
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init skipLocal local=true
|
||||
...
|
||||
# debug: cleanup skipLocal local=true
|
||||
ok 11 - skipSingle(global=false:local=false)
|
||||
# init skipSingle local=true
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init skipSingle local=false
|
||||
- severity: debug
|
||||
message: global: false local: false
|
||||
- severity: debug
|
||||
message: cleanup skipSingle local=false
|
||||
...
|
||||
ok 12 - skipSingle(global=false:local=true) # SKIP Skipping
|
||||
# cleanup skipSingle local=true
|
||||
# init skipSingle local=false
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init skipSingle local=true
|
||||
...
|
||||
# debug: cleanup skipSingle local=true
|
||||
ok 13 - skipSingle(global=true:local=false) # SKIP Skipping
|
||||
# cleanup skipSingle local=false
|
||||
# init skipSingle local=true
|
||||
# global: true local: true
|
||||
# cleanup skipSingle local=true
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init skipSingle local=false
|
||||
...
|
||||
# debug: cleanup skipSingle local=false
|
||||
ok 14 - skipSingle(global=true:local=true)
|
||||
# cleanupTestCase cleanupTestCase (null)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init skipSingle local=true
|
||||
- severity: debug
|
||||
message: global: true local: true
|
||||
- severity: debug
|
||||
message: cleanup skipSingle local=true
|
||||
...
|
||||
ok 15 - cleanupTestCase()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: cleanupTestCase cleanupTestCase (null)
|
||||
...
|
||||
1..15
|
||||
# tests 15
|
||||
# pass 8
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,149 +1,187 @@
|
||||
TAP version 13
|
||||
# tst_Signaldumper
|
||||
ok 1 - initTestCase()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
ok 2 - noConnections()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
...
|
||||
ok 3 - oneSlot(direct)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 4 - oneSlot(queued)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 5 - oneSlotOldSyntax(direct)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 6 - oneSlotOldSyntax(queued)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 7 - twoSlots(direct)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 8 - twoSlots(queued)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 9 - twoSlotsOldSyntax(direct)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 10 - twoSlotsOldSyntax(queued)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 11 - signalForwarding(direct)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 12 - signalForwarding(queued)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Slot: SignalSlotClass(_POINTER_) nestedSignal()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Slot: SignalSlotClass(_POINTER_) nestedSignal()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
...
|
||||
ok 13 - signalForwardingOldSyntax(direct)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) nestedSignal()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) nestedSignal()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 14 - signalForwardingOldSyntax(queued)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
...
|
||||
ok 15 - slotEmittingSignal(direct)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 16 - slotEmittingSignal(queued)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Slot: SignalSlotClass(_POINTER_) emitSecondSignal()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
...
|
||||
ok 17 - slotEmittingSignalOldSyntax(direct)
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Slot: SignalSlotClass(_POINTER_) emitSecondSignal()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
...
|
||||
ok 18 - slotEmittingSignalOldSyntax(queued)
|
||||
# Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))
|
||||
# Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@_POINTER_)
|
||||
# Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))
|
||||
# Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))
|
||||
# Signal: SignalSlotClass(_POINTER_) qListSignal (QList<int>())
|
||||
# Signal: SignalSlotClass(_POINTER_) qVectorSignal (QList<int>())
|
||||
# Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QList<int>&)@_POINTER_)
|
||||
# Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QList<int>())
|
||||
# Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QList<int>*)_POINTER_)
|
||||
# Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ((QList<int>*)_POINTER_)
|
||||
# Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())
|
||||
# Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
# inform: Signal: QEventDispatcherPlatform(_POINTER_) awake ()
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) nestedSignal ()
|
||||
...
|
||||
ok 19 - variousTypes()
|
||||
# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@_POINTER_)
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qListSignal (QList<int>())
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qVectorSignal (QList<int>())
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QList<int>&)@_POINTER_)
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QList<int>())
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QList<int>*)_POINTER_)
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ((QList<int>*)_POINTER_)
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())
|
||||
...
|
||||
ok 20 - deletingSender()
|
||||
---
|
||||
# inform: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
|
||||
...
|
||||
ok 21 - cleanupTestCase()
|
||||
1..21
|
||||
# tests 21
|
||||
|
@ -4,8 +4,13 @@ ok 1 - initTestCase()
|
||||
ok 2 - test() # SKIP skipping all
|
||||
ok 3 - emptytest() # SKIP skipping all
|
||||
ok 4 - singleSkip(local 1) # SKIP skipping one
|
||||
# this line should only be reached once (true)
|
||||
ok 5 - singleSkip(local 2)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: this line should only be reached once (true)
|
||||
...
|
||||
ok 6 - cleanupTestCase()
|
||||
1..6
|
||||
# tests 6
|
||||
|
@ -1,39 +1,101 @@
|
||||
TAP version 13
|
||||
# tst_Subtest
|
||||
# initTestCase initTestCase (null)
|
||||
ok 1 - initTestCase()
|
||||
# init test1 (null)
|
||||
# test1 test1 (null)
|
||||
# cleanup test1 (null)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: initTestCase initTestCase (null)
|
||||
...
|
||||
ok 2 - test1()
|
||||
# test2_data test2 (null)
|
||||
# test2_data end
|
||||
# init test2 data0
|
||||
# test2 test2 data0
|
||||
# test2 end
|
||||
# cleanup test2 data0
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init test1 (null)
|
||||
- severity: debug
|
||||
message: test1 test1 (null)
|
||||
- severity: debug
|
||||
message: cleanup test1 (null)
|
||||
...
|
||||
ok 2 - test2() # Data prepared
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: test2_data test2 (null)
|
||||
- severity: debug
|
||||
message: test2_data end
|
||||
...
|
||||
ok 3 - test2(data0)
|
||||
# init test2 data1
|
||||
# test2 test2 data1
|
||||
# test2 end
|
||||
# cleanup test2 data1
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init test2 data0
|
||||
- severity: debug
|
||||
message: test2 test2 data0
|
||||
- severity: debug
|
||||
message: test2 end
|
||||
- severity: debug
|
||||
message: cleanup test2 data0
|
||||
...
|
||||
ok 4 - test2(data1)
|
||||
# init test2 data2
|
||||
# test2 test2 data2
|
||||
# test2 end
|
||||
# cleanup test2 data2
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init test2 data1
|
||||
- severity: debug
|
||||
message: test2 test2 data1
|
||||
- severity: debug
|
||||
message: test2 end
|
||||
- severity: debug
|
||||
message: cleanup test2 data1
|
||||
...
|
||||
ok 5 - test2(data2)
|
||||
# test3_data test3 (null)
|
||||
# test3_data end
|
||||
# init test3 data0
|
||||
# test3 test3 data0
|
||||
# test3 end
|
||||
# cleanup test3 data0
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init test2 data2
|
||||
- severity: debug
|
||||
message: test2 test2 data2
|
||||
- severity: debug
|
||||
message: test2 end
|
||||
- severity: debug
|
||||
message: cleanup test2 data2
|
||||
...
|
||||
ok 5 - test3() # Data prepared
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: test3_data test3 (null)
|
||||
- severity: debug
|
||||
message: test3_data end
|
||||
...
|
||||
ok 6 - test3(data0)
|
||||
# init test3 data1
|
||||
# test3 test3 data1
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init test3 data0
|
||||
- severity: debug
|
||||
message: test3 test3 data0
|
||||
- severity: debug
|
||||
message: test3 end
|
||||
- severity: debug
|
||||
message: cleanup test3 data0
|
||||
...
|
||||
not ok 7 - test3(data1)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init test3 data1
|
||||
- severity: debug
|
||||
message: test3 test3 data1
|
||||
type: QCOMPARE
|
||||
message: Compared values are not the same
|
||||
wanted: "hello0" (QString("hello0"))
|
||||
@ -44,11 +106,15 @@ not ok 7 - test3(data1)
|
||||
file: qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp
|
||||
line: 0
|
||||
...
|
||||
# cleanup test3 data1
|
||||
# init test3 data2
|
||||
# test3 test3 data2
|
||||
# debug: cleanup test3 data1
|
||||
not ok 8 - test3(data2)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init test3 data2
|
||||
- severity: debug
|
||||
message: test3 test3 data2
|
||||
type: QCOMPARE
|
||||
message: Compared values are not the same
|
||||
wanted: "hello0" (QString("hello0"))
|
||||
@ -59,10 +125,13 @@ not ok 8 - test3(data2)
|
||||
file: qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp
|
||||
line: 0
|
||||
...
|
||||
# cleanup test3 data2
|
||||
# init multiFail (null)
|
||||
# debug: cleanup test3 data2
|
||||
not ok 9 - multiFail()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init multiFail (null)
|
||||
# This failure message should be repeated ten times
|
||||
at: tst_Subtest::multiFail() (qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp
|
||||
@ -138,9 +207,14 @@ not ok 9 - multiFail()
|
||||
file: qtbase/tests/auto/testlib/selftests/subtest/tst_subtest.cpp
|
||||
line: 0
|
||||
...
|
||||
# cleanup multiFail (null)
|
||||
# init multiSkip (null)
|
||||
# debug: cleanup multiFail (null)
|
||||
ok 10 - multiSkip() # SKIP This skip should be repeated ten times
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: init multiSkip (null)
|
||||
...
|
||||
ok 10 - multiSkip() # SKIP This skip should be repeated ten times
|
||||
ok 10 - multiSkip() # SKIP This skip should be repeated ten times
|
||||
ok 10 - multiSkip() # SKIP This skip should be repeated ten times
|
||||
@ -151,9 +225,14 @@ ok 10 - multiSkip() # SKIP This skip should be repeated ten times
|
||||
ok 10 - multiSkip() # SKIP This skip should be repeated ten times
|
||||
ok 10 - multiSkip() # SKIP This skip should be repeated ten times
|
||||
ok 10 - multiSkip() # SKIP But this test should only contribute one to the skip count
|
||||
# cleanup multiSkip (null)
|
||||
# cleanupTestCase cleanupTestCase (null)
|
||||
# debug: cleanup multiSkip (null)
|
||||
ok 11 - cleanupTestCase()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: cleanupTestCase cleanupTestCase (null)
|
||||
...
|
||||
1..11
|
||||
# tests 11
|
||||
# pass 7
|
||||
|
@ -95,9 +95,12 @@ not ok 21 - testFailInInit(fail)
|
||||
...
|
||||
ok 22 - testFailInInit(after)
|
||||
ok 23 - testFailInCleanup(before)
|
||||
# This test function should execute and then QFAIL in cleanup()
|
||||
not ok 24 - testFailInCleanup(fail)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: This test function should execute and then QFAIL in cleanup()
|
||||
# Fail in cleanup()
|
||||
at: tst_Counting::testFailInCleanup() (qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp
|
||||
@ -108,8 +111,13 @@ ok 26 - testSkipInInit(before)
|
||||
ok 27 - testSkipInInit(skip) # SKIP Skip in init()
|
||||
ok 28 - testSkipInInit(after)
|
||||
ok 29 - testSkipInCleanup(before)
|
||||
# This test function should execute and then QSKIP in cleanup()
|
||||
ok 30 - testSkipInCleanup(skip) # SKIP Skip in cleanup()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: This test function should execute and then QSKIP in cleanup()
|
||||
...
|
||||
ok 31 - testSkipInCleanup(after)
|
||||
ok 32 - cleanupTestCase()
|
||||
1..32
|
||||
|
@ -1,22 +1,30 @@
|
||||
TAP version 13
|
||||
# tst_Counting
|
||||
ok 1 - initTestCase()
|
||||
# QVERIFY(true)
|
||||
# QCOMPARE(2 + 1, 3)
|
||||
ok 2 - testPassPass(row 1)
|
||||
# QVERIFY(true)
|
||||
# QCOMPARE(2 + 1, 3)
|
||||
---
|
||||
# inform: QVERIFY(true)
|
||||
# inform: QCOMPARE(2 + 1, 3)
|
||||
...
|
||||
ok 3 - testPassPass(row 2)
|
||||
# QVERIFY(true)
|
||||
# QCOMPARE(2 + 1, 3)
|
||||
---
|
||||
# inform: QVERIFY(true)
|
||||
# inform: QCOMPARE(2 + 1, 3)
|
||||
...
|
||||
ok 4 - testPassSkip(row 1)
|
||||
---
|
||||
# inform: QVERIFY(true)
|
||||
# inform: QCOMPARE(2 + 1, 3)
|
||||
...
|
||||
ok 5 - testPassSkip(row 2) # SKIP Skipping
|
||||
# QVERIFY(true)
|
||||
# QCOMPARE(2 + 1, 3)
|
||||
ok 6 - testPassFail(row 1)
|
||||
# QVERIFY(false)
|
||||
---
|
||||
# inform: QVERIFY(true)
|
||||
# inform: QCOMPARE(2 + 1, 3)
|
||||
...
|
||||
not ok 7 - testPassFail(row 2)
|
||||
---
|
||||
# inform: QVERIFY(false)
|
||||
type: QVERIFY
|
||||
message: Verification failed
|
||||
wanted: true (false)
|
||||
@ -28,15 +36,17 @@ not ok 7 - testPassFail(row 2)
|
||||
line: 0
|
||||
...
|
||||
ok 8 - testSkipPass(row 1) # SKIP Skipping
|
||||
# QVERIFY(true)
|
||||
# QCOMPARE(2 + 1, 3)
|
||||
ok 9 - testSkipPass(row 2)
|
||||
---
|
||||
# inform: QVERIFY(true)
|
||||
# inform: QCOMPARE(2 + 1, 3)
|
||||
...
|
||||
ok 10 - testSkipSkip(row 1) # SKIP Skipping
|
||||
ok 11 - testSkipSkip(row 2) # SKIP Skipping
|
||||
ok 12 - testSkipFail(row 1) # SKIP Skipping
|
||||
# QVERIFY(false)
|
||||
not ok 13 - testSkipFail(row 2)
|
||||
---
|
||||
# inform: QVERIFY(false)
|
||||
type: QVERIFY
|
||||
message: Verification failed
|
||||
wanted: true (false)
|
||||
@ -47,9 +57,9 @@ not ok 13 - testSkipFail(row 2)
|
||||
file: qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp
|
||||
line: 0
|
||||
...
|
||||
# QVERIFY(false)
|
||||
not ok 14 - testFailPass(row 1)
|
||||
---
|
||||
# inform: QVERIFY(false)
|
||||
type: QVERIFY
|
||||
message: Verification failed
|
||||
wanted: true (false)
|
||||
@ -60,12 +70,14 @@ not ok 14 - testFailPass(row 1)
|
||||
file: qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp
|
||||
line: 0
|
||||
...
|
||||
# QVERIFY(true)
|
||||
# QCOMPARE(2 + 1, 3)
|
||||
ok 15 - testFailPass(row 2)
|
||||
# QVERIFY(false)
|
||||
---
|
||||
# inform: QVERIFY(true)
|
||||
# inform: QCOMPARE(2 + 1, 3)
|
||||
...
|
||||
not ok 16 - testFailSkip(row 1)
|
||||
---
|
||||
# inform: QVERIFY(false)
|
||||
type: QVERIFY
|
||||
message: Verification failed
|
||||
wanted: true (false)
|
||||
@ -77,9 +89,9 @@ not ok 16 - testFailSkip(row 1)
|
||||
line: 0
|
||||
...
|
||||
ok 17 - testFailSkip(row 2) # SKIP Skipping
|
||||
# QVERIFY(false)
|
||||
not ok 18 - testFailFail(row 1)
|
||||
---
|
||||
# inform: QVERIFY(false)
|
||||
type: QVERIFY
|
||||
message: Verification failed
|
||||
wanted: true (false)
|
||||
@ -90,9 +102,9 @@ not ok 18 - testFailFail(row 1)
|
||||
file: qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp
|
||||
line: 0
|
||||
...
|
||||
# QVERIFY(false)
|
||||
not ok 19 - testFailFail(row 2)
|
||||
---
|
||||
# inform: QVERIFY(false)
|
||||
type: QVERIFY
|
||||
message: Verification failed
|
||||
wanted: true (false)
|
||||
@ -113,9 +125,12 @@ not ok 21 - testFailInInit(fail)
|
||||
...
|
||||
ok 22 - testFailInInit(after)
|
||||
ok 23 - testFailInCleanup(before)
|
||||
# This test function should execute and then QFAIL in cleanup()
|
||||
not ok 24 - testFailInCleanup(fail)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: This test function should execute and then QFAIL in cleanup()
|
||||
# Fail in cleanup()
|
||||
at: tst_Counting::testFailInCleanup() (qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/counting/tst_counting.cpp
|
||||
@ -126,8 +141,13 @@ ok 26 - testSkipInInit(before)
|
||||
ok 27 - testSkipInInit(skip) # SKIP Skip in init()
|
||||
ok 28 - testSkipInInit(after)
|
||||
ok 29 - testSkipInCleanup(before)
|
||||
# This test function should execute and then QSKIP in cleanup()
|
||||
ok 30 - testSkipInCleanup(skip) # SKIP Skip in cleanup()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: debug
|
||||
message: This test function should execute and then QSKIP in cleanup()
|
||||
...
|
||||
ok 31 - testSkipInCleanup(after)
|
||||
ok 32 - cleanupTestCase()
|
||||
1..32
|
||||
|
@ -1,52 +1,69 @@
|
||||
TAP version 13
|
||||
# tst_Warnings
|
||||
ok 1 - initTestCase()
|
||||
# Warning
|
||||
# Warning
|
||||
# Debug
|
||||
# Debug
|
||||
# Info
|
||||
# Info
|
||||
# Baba
|
||||
# Baba
|
||||
# Bubublabla
|
||||
# Babablabla
|
||||
ok 2 - testWarnings()
|
||||
# Did not receive message: "Warning0"
|
||||
# Did not receive message: "Warning1"
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: warning
|
||||
message: Warning
|
||||
- severity: warning
|
||||
message: Warning
|
||||
- severity: debug
|
||||
message: Debug
|
||||
- severity: debug
|
||||
message: Debug
|
||||
- severity: info
|
||||
message: Info
|
||||
- severity: info
|
||||
message: Info
|
||||
- severity: debug
|
||||
message: Baba
|
||||
- severity: debug
|
||||
message: Baba
|
||||
- severity: debug
|
||||
message: Bubublabla
|
||||
- severity: warning
|
||||
message: Babablabla
|
||||
...
|
||||
not ok 3 - testMissingWarnings()
|
||||
---
|
||||
# inform: Did not receive message: "Warning0"
|
||||
# inform: Did not receive message: "Warning1"
|
||||
# Not all expected messages were received
|
||||
...
|
||||
# Did not receive any message matching: "Warning\s\d"
|
||||
not ok 4 - testMissingWarningsRegularExpression()
|
||||
---
|
||||
# inform: Did not receive any message matching: "Warning\s\d"
|
||||
# Not all expected messages were received
|
||||
...
|
||||
# Did not receive message: "Warning0"
|
||||
# Did not receive message: "Warning1"
|
||||
not ok 5 - testMissingWarningsWithData(first row)
|
||||
---
|
||||
# inform: Did not receive message: "Warning0"
|
||||
# inform: Did not receive message: "Warning1"
|
||||
# Not all expected messages were received
|
||||
...
|
||||
# Did not receive message: "Warning0"
|
||||
# Did not receive message: "Warning1"
|
||||
not ok 6 - testMissingWarningsWithData(second row)
|
||||
---
|
||||
# inform: Did not receive message: "Warning0"
|
||||
# inform: Did not receive message: "Warning1"
|
||||
# Not all expected messages were received
|
||||
...
|
||||
# Ran out of space!
|
||||
not ok 7 - testFailOnWarnings()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: warning
|
||||
message: Ran out of space!
|
||||
# Received a warning that resulted in a failure:
|
||||
Ran out of cabbage!
|
||||
at: tst_Warnings::testFailOnWarnings() (qtbase/tests/auto/testlib/selftests/warnings/tst_warnings.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/warnings/tst_warnings.cpp
|
||||
line: 0
|
||||
...
|
||||
# Ran out of tortillas!
|
||||
# Ran out of oil!
|
||||
# nope
|
||||
# debug: Ran out of tortillas!
|
||||
# info: Ran out of oil!
|
||||
# warning: nope
|
||||
not ok 7 - testFailOnWarnings()
|
||||
---
|
||||
# Received a warning that resulted in a failure:
|
||||
@ -63,11 +80,16 @@ Running low on toothpaste!
|
||||
file: qtbase/tests/auto/testlib/selftests/warnings/tst_warnings.cpp
|
||||
line: 0
|
||||
...
|
||||
# Running low on flour!
|
||||
# Running low on toothpaste!
|
||||
# Running low on toothpaste!
|
||||
# Ran out of muffins!
|
||||
# warning: Running low on flour!
|
||||
# debug: Running low on toothpaste!
|
||||
# info: Running low on toothpaste!
|
||||
ok 8 - testFailOnWarningsCleared()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: warning
|
||||
message: Ran out of muffins!
|
||||
...
|
||||
not ok 9 - testFailOnWarningsWithData(warning1)
|
||||
---
|
||||
# Received a warning that resulted in a failure:
|
||||
@ -76,22 +98,29 @@ warning1
|
||||
file: qtbase/tests/auto/testlib/selftests/warnings/tst_warnings.cpp
|
||||
line: 0
|
||||
...
|
||||
# warning2
|
||||
# warning3
|
||||
# warning1
|
||||
# warning: warning2
|
||||
# warning: warning3
|
||||
not ok 10 - testFailOnWarningsWithData(warning2)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: warning
|
||||
message: warning1
|
||||
# Received a warning that resulted in a failure:
|
||||
warning2
|
||||
at: tst_Warnings::testFailOnWarningsWithData() (qtbase/tests/auto/testlib/selftests/warnings/tst_warnings.cpp:0)
|
||||
file: qtbase/tests/auto/testlib/selftests/warnings/tst_warnings.cpp
|
||||
line: 0
|
||||
...
|
||||
# warning3
|
||||
# warning1
|
||||
# warning2
|
||||
# warning: warning3
|
||||
not ok 11 - testFailOnWarningsWithData(warning3)
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: warning
|
||||
message: warning1
|
||||
- severity: warning
|
||||
message: warning2
|
||||
# Received a warning that resulted in a failure:
|
||||
warning3
|
||||
at: tst_Warnings::testFailOnWarningsWithData() (qtbase/tests/auto/testlib/selftests/warnings/tst_warnings.cpp:0)
|
||||
|
@ -1,9 +1,12 @@
|
||||
TAP version 13
|
||||
# tst_Watchdog
|
||||
ok 1 - initTestCase()
|
||||
# Test function timed out
|
||||
not ok 2 - delay()
|
||||
---
|
||||
extensions:
|
||||
messages:
|
||||
- severity: fatal
|
||||
message: Test function timed out
|
||||
# Received a fatal error.
|
||||
...
|
||||
1..2
|
||||
|
Loading…
Reference in New Issue
Block a user