[SCM] qtdeclarative packaging branch, master, updated. debian/5.6.1-8-4-g4d598d5

Lisandro Damián Nicanor Pérez lisandro at moszumanska.debian.org
Tue Sep 27 23:13:30 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=281e191

The following commit has been merged in the master branch:
commit 281e19175a701a1906377373eda92d9914e82094
Author: Sandro Knauß <bugs at sandroknauss.de>
Date:   Mon Sep 26 18:34:35 2016 +0200

    Enable auto tests
    
    disable the tests, that need real OpenGl
---
 debian/changelog                                  |   5 +
 debian/control                                    |   8 +-
 debian/patches/disableopengltests.patch           |  65 +++++++++
 debian/patches/fix_test_remove_qlibraryinfo.patch | 160 ++++++++++++++++++++++
 debian/patches/series                             |   2 +
 debian/rules                                      |  20 ++-
 6 files changed, 256 insertions(+), 4 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 5685c55..8103e57 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,11 @@ qtdeclarative-opensource-src (5.6.1-9) UNRELEASED; urgency=medium
   * Backport upstream change to fix V4 on big-endian (closes #836412)
     (fix-V4-on-big-endian.patch; see QTBUG-55730)
     (refresh fix_engine_64bits_big_endian.diff)
+  * Enable auto tests.
+  * Create patch to disable tests, that fails with xvfb
+    disableopengltests.patch
+  * Create patch to run the tests against own build binaries
+    fix_test_remove_qlibraryinfo.patch
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Sat, 24 Sep 2016 15:53:40 +0200
 
diff --git a/debian/control b/debian/control
index 366fc7a..698e361 100644
--- a/debian/control
+++ b/debian/control
@@ -10,10 +10,16 @@ Uploaders: Sune Vuorela <debian at pusling.com>,
 Build-Depends: debhelper (>= 9),
                dpkg-dev (>= 1.16.1),
                libdouble-conversion-dev,
+               libqt5opengl5-dev (>= 5.6.1~),
                libqt5xmlpatterns5-dev (>= 5.6.1~),
                pkg-kde-tools (>= 0.15.17~),
                python,
-               qtbase5-private-dev (>= 5.6.1+dfsg~)
+               qtbase5-private-dev (>= 5.6.1+dfsg~),
+               xvfb,
+               xauth,
+               dbus-x11,
+               libgl1-mesa-dri,
+               libgl1-mesa-glx
 Build-Depends-Indep: libqt5sql5-sqlite (>= 5.6.1+dfsg~),
                      qtbase5-doc-html (>= 5.6.1+dfsg~),
                      qttools5-dev-tools (>= 5.6.1~)
diff --git a/debian/patches/disableopengltests.patch b/debian/patches/disableopengltests.patch
new file mode 100644
index 0000000..9bf2882
--- /dev/null
+++ b/debian/patches/disableopengltests.patch
@@ -0,0 +1,65 @@
+Description: Disable all tests, that fails with xvfb
+ So far some tests need real OpenGl support
+Author: Sandro Knauß <bugs at sandroknauss.de>
+Origin: Debian
+Forwarded: not-needed - it is a limitation so far inside Debian
+Last-Update: 2016-09-26
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/tests/auto/auto.pro
++++ b/tests/auto/auto.pro
+@@ -9,8 +9,6 @@ SUBDIRS=\
+     installed_cmake \
+     toolsupport
+ 
+-qtHaveModule(widgets): SUBDIRS += quickwidgets
+-
+ qmldevtools.CONFIG = host_build
+ 
+ installed_cmake.depends = cmake
+--- a/tests/auto/qml/debugger/debugger.pro
++++ b/tests/auto/qml/debugger/debugger.pro
+@@ -2,9 +2,7 @@ TEMPLATE = subdirs
+ 
+ PUBLICTESTS += \
+     qqmlenginedebugservice \
+-    qqmldebugjs \
+     qqmlinspector \
+-    qqmlprofilerservice \
+     qpacketprotocol \
+     qqmlenginedebuginspectorintegrationtest \
+     qqmlenginecontrol \
+--- a/tests/auto/qml/qml.pro
++++ b/tests/auto/qml/qml.pro
+@@ -21,7 +21,6 @@ PUBLICTESTS += \
+     qqmlmoduleplugin \
+     qqmlnotifier \
+     qqmlqt \
+-    qqmlxmlhttprequest \
+     qtqmlmodules \
+     qquickfolderlistmodel \
+     qqmlapplicationengine \
+@@ -70,8 +69,7 @@ qtHaveModule(widgets) {
+         qjsvalue
+ }
+ 
+-SUBDIRS += $$PUBLICTESTS \
+-    qqmlextensionplugin
++SUBDIRS += $$PUBLICTESTS
+ SUBDIRS += $$METATYPETESTS
+ !winrt { # no QProcess on winrt
+     !contains(QT_CONFIG, no-qml-debug): SUBDIRS += debugger
+--- a/tests/auto/quick/quick.pro
++++ b/tests/auto/quick/quick.pro
+@@ -2,11 +2,8 @@ TEMPLATE = subdirs
+ 
+ PUBLICTESTS += \
+     geometry \
+-    rendernode \
+     qquickpixmapcache
+ 
+-qtHaveModule(widgets): PUBLICTESTS += nodes
+-
+ !cross_compile: PRIVATETESTS += examples
+ 
+ # This test requires the qtconcurrent module
diff --git a/debian/patches/fix_test_remove_qlibraryinfo.patch b/debian/patches/fix_test_remove_qlibraryinfo.patch
new file mode 100644
index 0000000..6da904f
--- /dev/null
+++ b/debian/patches/fix_test_remove_qlibraryinfo.patch
@@ -0,0 +1,160 @@
+Description: Make sure, that tests run with just compiled versino of tools
+Author: Sandro Knauß <bugs at sandroknauss.de>
+Origin: Debian
+Last-Update: 2016-09-16
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp
++++ b/tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp
+@@ -829,7 +829,7 @@ void tst_QQmlDebugJS::cleanupTestCase()
+ void tst_QQmlDebugJS::init(const QString &qmlFile, bool blockMode, bool restrictServices)
+ {
+     connection = new QQmlDebugConnection();
+-    process = new QQmlDebugProcess(QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmlscene", this);
++    process = new QQmlDebugProcess(TESTBINDIR "/qmlscene", this);
+     client = new QJSDebugClient(connection);
+ 
+     const char *args = 0;
+--- a/tests/auto/qml/qmlmin/tst_qmlmin.cpp
++++ b/tests/auto/qml/qmlmin/tst_qmlmin.cpp
+@@ -67,7 +67,7 @@ tst_qmlmin::tst_qmlmin()
+ 
+ void tst_qmlmin::initTestCase()
+ {
+-    qmlminPath = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QLatin1String("/qmlmin");
++    qmlminPath = QString(TESTBINDIR) + QLatin1String("/qmlmin");
+ #ifdef Q_OS_WIN
+     qmlminPath += QLatin1String(".exe");
+ #endif
+--- a/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp
++++ b/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp
+@@ -171,7 +171,7 @@ void tst_QDebugMessageService::cleanupTe
+ void tst_QDebugMessageService::init()
+ {
+     m_connection = new QQmlDebugConnection();
+-    m_process = new QQmlDebugProcess(QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qml", this);
++    m_process = new QQmlDebugProcess(TESTBINDIR "/qml", this);
+     m_client = new QQmlDebugMsgClient(m_connection);
+ 
+     m_process->start(QStringList() << QLatin1String(NORMALMODE) << QQmlDataTest::instance()->testFile(QMLFILE));
+--- a/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp
++++ b/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp
+@@ -89,7 +89,7 @@ bool tst_QQmlDebuggingEnabler::init(bool
+     connection = new QQmlDebugConnection();
+ 
+     if (qmlscene) {
+-        process = new QQmlDebugProcess(QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmlscene", this);
++        process = new QQmlDebugProcess(TESTBINDIR "/qmlscene", this);
+         process->setMaximumBindErrors(1);
+     } else {
+         process = new QQmlDebugProcess(QCoreApplication::applicationDirPath() + QLatin1String("/qqmldebuggingenablerserver"), this);
+--- a/tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp
++++ b/tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp
+@@ -99,7 +99,7 @@ void tst_QQmlDebugService::initTestCase(
+ void tst_QQmlDebugService::checkPortRange()
+ {
+     QQmlDebugConnection *connection1 = new QQmlDebugConnection();
+-    QQmlDebugProcess *process1 = new QQmlDebugProcess(QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmlscene", this);
++    QQmlDebugProcess *process1 = new QQmlDebugProcess(TESTBINDIR "/qmlscene", this);
+ 
+     process1->start(QStringList() << QLatin1String("-qmljsdebugger=port:3782,3792") << testFile("test.qml"));
+ 
+@@ -113,7 +113,7 @@ void tst_QQmlDebugService::checkPortRang
+ 
+     // Second instance
+     QQmlDebugConnection *connection2 = new QQmlDebugConnection();
+-    QQmlDebugProcess *process2 = new QQmlDebugProcess(QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmlscene", this);
++    QQmlDebugProcess *process2 = new QQmlDebugProcess(TESTBINDIR "/qmlscene", this);
+ 
+     process2->start(QStringList() << QLatin1String("-qmljsdebugger=port:3782,3792") << testFile("test.qml"));
+ 
+--- a/tests/auto/qml/debugger/qqmlenginecontrol/tst_qqmlenginecontrol.cpp
++++ b/tests/auto/qml/debugger/qqmlenginecontrol/tst_qqmlenginecontrol.cpp
+@@ -153,7 +153,7 @@ void QQmlEngineControlClient::messageRec
+ 
+ void tst_QQmlEngineControl::connect(const QString &testFile, bool restrictServices)
+ {
+-    const QString executable = QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmlscene";
++    const QString executable = TESTBINDIR "/qmlscene";
+     QStringList arguments;
+     arguments << QString::fromLatin1("-qmljsdebugger=port:%1,%2,block%3")
+                  .arg(STR_PORT_FROM).arg(STR_PORT_TO)
+--- a/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp
++++ b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp
+@@ -84,7 +84,7 @@ void tst_QQmlInspector::startQmlscenePro
+             .arg(restrictServices ? QStringLiteral(",services:QmlInspector") : QString());
+ 
+     // ### This should be using qml instead of qmlscene, but can't because of QTBUG-33376 (same as the XFAIL testcase)
+-    m_process = new QQmlDebugProcess(QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmlscene", this);
++    m_process = new QQmlDebugProcess(TESTBINDIR "/qmlscene", this);
+     m_process->start(QStringList() << argument << testFile("qtquick2.qml"));
+     QVERIFY2(m_process->waitForSessionStart(),
+              "Could not launch application, or did not get 'Waiting for connection'.");
+--- a/.qmake.conf
++++ b/.qmake.conf
+@@ -2,4 +2,7 @@ load(qt_build_config)
+ CONFIG += qt_example_installs
+ CONFIG += warning_clean
+ 
++QMAKE_CXXFLAGS += -DTESTBINDIR=\\"$$PWD/bin\\"
++QMAKE_CXXFLAGS += -DTESTEXAMPLEDIR=\\"$$PWD/examples\\"
++
+ MODULE_VERSION = 5.6.1
+--- a/tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp
++++ b/tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp
+@@ -102,8 +102,7 @@ void tst_QQmlEngineDebugInspectorIntegra
+                                     QString());
+ 
+     // ### Still using qmlscene because of QTBUG-33376
+-    m_process = new QQmlDebugProcess(QLibraryInfo::location(QLibraryInfo::BinariesPath)
+-                                     + "/qmlscene", this);
++    m_process = new QQmlDebugProcess(TESTBINDIR "/qmlscene", this);
+     m_process->start(QStringList() << argument << testFile("qtquick2.qml"));
+     QVERIFY2(m_process->waitForSessionStart(),
+              "Could not launch application, or did not get 'Waiting for connection'.");
+--- a/tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
++++ b/tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
+@@ -359,7 +359,7 @@ void QQmlProfilerClient::messageReceived
+ void tst_QQmlProfilerService::connect(bool block, const QString &testFile, bool restrictServices)
+ {
+     // ### Still using qmlscene due to QTBUG-33377
+-    const QString executable = QLibraryInfo::location(QLibraryInfo::BinariesPath) + "/qmlscene";
++    const QString executable = TESTBINDIR "/qmlscene";
+     QStringList arguments;
+     arguments << QString::fromLatin1("-qmljsdebugger=port:%1,%2%3%4")
+                  .arg(STR_PORT_FROM).arg(STR_PORT_TO)
+--- a/tests/auto/qml/qmllint/main.cpp
++++ b/tests/auto/qml/qmllint/main.cpp
+@@ -49,7 +49,7 @@ private:
+ 
+ void TestQmllint::initTestCase()
+ {
+-    m_qmllintPath = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QLatin1String("/qmllint");
++    m_qmllintPath = QLatin1String(TESTBINDIR "/qmllint");
+ #ifdef Q_OS_WIN
+     m_qmllintPath += QLatin1String(".exe");
+ #endif
+--- a/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
++++ b/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp
+@@ -59,7 +59,7 @@ tst_qmlplugindump::tst_qmlplugindump()
+ 
+ void tst_qmlplugindump::initTestCase()
+ {
+-    qmlplugindumpPath = QLibraryInfo::location(QLibraryInfo::BinariesPath);
++    qmlplugindumpPath = QLatin1String(TESTBINDIR);
+ 
+ #if defined(Q_OS_WIN)
+     qmlplugindumpPath += QLatin1String("/qmlplugindump.exe");
+--- a/tests/auto/quick/examples/tst_examples.cpp
++++ b/tests/auto/quick/examples/tst_examples.cpp
+@@ -174,8 +174,8 @@ void tst_examples::namingConvention(cons
+ void tst_examples::namingConvention()
+ {
+     QStringList examplesLocations;
+-    examplesLocations << QLibraryInfo::location(QLibraryInfo::ExamplesPath) + QLatin1String("/qml");
+-    examplesLocations << QLibraryInfo::location(QLibraryInfo::ExamplesPath) + QLatin1String("/quick");
++    examplesLocations << QLatin1String(TESTEXAMPLEDIR "/qml");
++    examplesLocations << QLatin1String(TESTEXAMPLEDIR "/quick");
+ 
+     foreach(const QString &examples, examplesLocations) {
+         QDir d(examples);
diff --git a/debian/patches/series b/debian/patches/series
index 0f820b4..29b9c5e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,5 @@ fix-V4-on-big-endian.patch
 # Debian patches
 check_system_double-conversion.patch
 fix_engine_64bits_big_endian.diff
+disableopengltests.patch
+fix_test_remove_qlibraryinfo.patch
diff --git a/debian/rules b/debian/rules
index a63e7b1..1e87cd5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,8 +14,14 @@ export QT_SELECT := qt5
 %:
 	dh $@ --parallel --with pkgkde_symbolshelper --dbg-package=qtdeclarative5-dbg
 
+override_dh_auto_clean:
+	dh_auto_clean
+	rm -rf $(CURDIR)/test_root
+	rm -rf $(CURDIR)/docs
+	rm -rf $(CURDIR)/.local
+
 override_dh_auto_configure:
-	qmake
+	qmake QT_BUILD_PARTS+=" tests"
 
 override_dh_auto_build-indep:
 	dh_auto_build -- docs
@@ -60,5 +66,13 @@ override_dh_link:
 override_dh_makeshlibs:
 	dh_makeshlibs -V
 
-# Requires X so disabled for now
-override_dh_auto_test:
+override_dh_auto_test-arch:
+	$(MAKE) install -Csrc/imports INSTALL_ROOT=$(CURDIR)/test_root
+	mkdir -p $(CURDIR)/.local/share/QtProject/tst_qqmlengine
+	xvfb-run -a \
+	         -s "-screen 0 1024x768x24 +extension RANDR +extension RENDER +extension GLX" \
+	         dbus-launch --exit-with-session \
+	         dh_auto_test --max-parallel=1  -- QML2_IMPORT_PATH=$(CURDIR)/test_root/usr/lib/$(DEB_HOST_MULTIARCH)/qt5/qml HOME=$(CURDIR)
+
+override_dh_auto_test-indep:
+

-- 
qtdeclarative packaging



More information about the pkg-kde-commits mailing list