diff options
Diffstat (limited to 'tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp')
-rw-r--r-- | tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp | 69 |
1 files changed, 36 insertions, 33 deletions
diff --git a/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp b/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp index d0801dd4ee..8be82c30f9 100644 --- a/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp +++ b/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp @@ -1,44 +1,42 @@ /**************************************************************************** ** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:LGPL21$ +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. ** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** As a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ -#include "qqmldebugclient.h" - //QQmlDebugTest #include "debugutil_p.h" #include "../../../shared/util.h" -#include <QtCore/QString> -#include <QtTest/QtTest> +#include <private/qqmldebugclient_p.h> +#include <private/qqmldebugconnection_p.h> +#include <private/qpacket_p.h> + +#include <QtCore/qstring.h> +#include <QtCore/qlibraryinfo.h> +#include <QtTest/qtest.h> const char *NORMALMODE = "-qmljsdebugger=port:3777,3787,block"; const char *QMLFILE = "test.qml"; @@ -76,15 +74,19 @@ struct LogEntry { int line; QString file; QString function; + QString category; - QString toString() const { return QString::number(type) + ": " + message; } + QString toString() const + { + return QString::number(type) + ": " + message + " (" + category + ")"; + } }; bool operator==(const LogEntry &t1, const LogEntry &t2) { return t1.type == t2.type && t1.message == t2.message && t1.line == t2.line && t1.file == t2.file - && t1.function == t2.function; + && t1.function == t2.function && t1.category == t2.category; } class QQmlDebugMsgClient : public QQmlDebugClient @@ -117,7 +119,7 @@ void QQmlDebugMsgClient::stateChanged(State state) void QQmlDebugMsgClient::messageReceived(const QByteArray &data) { - QDataStream ds(data); + QPacket ds(connection()->currentDataStreamVersion(), data); QByteArray command; ds >> command; @@ -126,17 +128,21 @@ void QQmlDebugMsgClient::messageReceived(const QByteArray &data) QByteArray message; QByteArray file; QByteArray function; + QByteArray category; + qint64 timestamp; int line; - ds >> type >> message >> file >> line >> function; + ds >> type >> message >> file >> line >> function >> category >> timestamp; QVERIFY(ds.atEnd()); QVERIFY(type >= QtDebugMsg); QVERIFY(type <= QtFatalMsg); + QVERIFY(timestamp > 0); LogEntry entry((QtMsgType)type, QString::fromUtf8(message)); entry.line = line; entry.file = QString::fromUtf8(file); entry.function = QString::fromUtf8(function); + entry.category = QString::fromUtf8(category); logBuffer << entry; emit debugOutput(); } else { @@ -212,23 +218,20 @@ void tst_QDebugMessageService::retrieveDebugOutput() { init(); - int maxTries = 2; - while ((m_client->logBuffer.size() < 2) - || (maxTries-- > 0)) - QQmlDebugTest::waitForSignal(m_client, SIGNAL(debugOutput()), 1000); - - QVERIFY(m_client->logBuffer.size() >= 2); + QTRY_VERIFY(m_client->logBuffer.size() >= 2); const QString path = QUrl::fromLocalFile(QQmlDataTest::instance()->testFile(QMLFILE)).toString(); LogEntry entry1(QtDebugMsg, QLatin1String("console.log")); - entry1.line = 48; + entry1.line = 35; entry1.file = path; entry1.function = QLatin1String("onCompleted"); + entry1.category = QLatin1String("qml"); LogEntry entry2(QtDebugMsg, QLatin1String("console.count: 1")); - entry2.line = 49; + entry2.line = 36; entry2.file = path; entry2.function = QLatin1String("onCompleted"); + entry2.category = QLatin1String("default"); QVERIFY(m_client->logBuffer.contains(entry1)); QVERIFY(m_client->logBuffer.contains(entry2)); |