Hello community, here is the log from the commit of package libkscreen2 for openSUSE:Factory checked in at 2018-08-03 12:33:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libkscreen2 (Old) and /work/SRC/openSUSE:Factory/.libkscreen2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libkscreen2" Fri Aug 3 12:33:36 2018 rev:71 rq:626837 version:5.13.4 Changes: -------- --- /work/SRC/openSUSE:Factory/libkscreen2/libkscreen2.changes 2018-07-14 20:19:36.979321147 +0200 +++ /work/SRC/openSUSE:Factory/.libkscreen2.new/libkscreen2.changes 2018-08-03 12:33:38.579244452 +0200 @@ -1,0 +2,10 @@ +Tue Jul 31 15:18:33 CEST 2018 - [email protected] + +- Update to 5.13.4 + * New bugfix release + * For more details please see: + * https://www.kde.org/announcements/plasma-5.13.4.php +- Changes since 5.13.3: + * Make TestInProcess skip out-of-process tests if D-Bus service uninstalled + +------------------------------------------------------------------- Old: ---- libkscreen-5.13.3.tar.xz New: ---- libkscreen-5.13.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libkscreen2.spec ++++++ --- /var/tmp/diff_new_pack.wEhWeX/_old 2018-08-03 12:33:38.947244995 +0200 +++ /var/tmp/diff_new_pack.wEhWeX/_new 2018-08-03 12:33:38.951245001 +0200 @@ -18,7 +18,7 @@ %define lname libKF5Screen7 Name: libkscreen2 -Version: 5.13.3 +Version: 5.13.4 Release: 0 # Full Plasma 5 version (e.g. 5.8.95) %{!?_plasma5_bugfix: %global _plasma5_bugfix %{version}} ++++++ libkscreen-5.13.3.tar.xz -> libkscreen-5.13.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.13.3/CMakeLists.txt new/libkscreen-5.13.4/CMakeLists.txt --- old/libkscreen-5.13.3/CMakeLists.txt 2018-07-10 12:09:09.000000000 +0200 +++ new/libkscreen-5.13.4/CMakeLists.txt 2018-07-31 14:47:57.000000000 +0200 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.0) project(libkscreen) -set(PROJECT_VERSION "5.13.3") +set(PROJECT_VERSION "5.13.4") set(REQUIRED_QT_VERSION "5.9.0") set(KF5_MIN_VERSION "5.42.0") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkscreen-5.13.3/autotests/testinprocess.cpp new/libkscreen-5.13.4/autotests/testinprocess.cpp --- old/libkscreen-5.13.3/autotests/testinprocess.cpp 2018-07-10 12:09:09.000000000 +0200 +++ new/libkscreen-5.13.4/autotests/testinprocess.cpp 2018-07-31 14:47:57.000000000 +0200 @@ -20,6 +20,7 @@ #include <QtTest> #include <QObject> #include <QSignalSpy> +#include <QDBusConnectionInterface> #include "../src/backendmanager_p.h" #include "../src/getconfigoperation.h" @@ -42,6 +43,8 @@ explicit TestInProcess(QObject *parent = nullptr); private Q_SLOTS: + void initTestCase(); + void init(); void cleanup(); @@ -57,6 +60,7 @@ private: ConfigPtr m_config; + bool m_backendServiceInstalled = false; }; @@ -66,6 +70,21 @@ { } +void TestInProcess::initTestCase() +{ + m_backendServiceInstalled = true; + + const QString kscreenServiceName = QStringLiteral("org.kde.KScreen"); + QDBusConnectionInterface *bus = QDBusConnection::sessionBus().interface(); + if (!bus->isServiceRegistered(kscreenServiceName)) { + auto reply = bus->startService(kscreenServiceName); + if (!reply.isValid()) { + qDebug() << "D-Bus service org.kde.KScreen could not be started, skipping out-of-process tests"; + m_backendServiceInstalled = false; + } + } +} + void TestInProcess::init() { qputenv("KSCREEN_LOGGING", "false"); @@ -118,18 +137,22 @@ QVERIFY(ic->isValid()); QVERIFY(ic->outputs().count()); - qDebug() << "TT xrandr out-of-process"; - // Load the xrandr backend out-of-process - qputenv("KSCREEN_BACKEND", "QScreen"); - qputenv("KSCREEN_BACKEND_INPROCESS", "0"); - BackendManager::instance()->setMethod(BackendManager::OutOfProcess); - auto xp = new GetConfigOperation(); - QCOMPARE(BackendManager::instance()->method(), BackendManager::OutOfProcess); - QVERIFY(xp->exec()); - auto xc = xp->config(); - QVERIFY(xc != nullptr); - QVERIFY(xc->isValid()); - QVERIFY(xc->outputs().count()); + KScreen::ConfigPtr xc(nullptr); + if (m_backendServiceInstalled) { + qDebug() << "TT xrandr out-of-process"; + // Load the xrandr backend out-of-process + qputenv("KSCREEN_BACKEND", "QScreen"); + qputenv("KSCREEN_BACKEND_INPROCESS", "0"); + BackendManager::instance()->setMethod(BackendManager::OutOfProcess); + auto xp = new GetConfigOperation(); + QCOMPARE(BackendManager::instance()->method(), BackendManager::OutOfProcess); + QVERIFY(xp->exec()); + xc = xp->config(); + QVERIFY(xc != nullptr); + QVERIFY(xc->isValid()); + QVERIFY(xc->outputs().count()); + } + qDebug() << "TT fake in-process"; qputenv("KSCREEN_BACKEND_INPROCESS", "1"); @@ -146,7 +169,9 @@ QVERIFY(oc->isValid()); QVERIFY(ic->isValid()); - QVERIFY(xc->isValid()); + if (xc) { + QVERIFY(xc->isValid()); + } QVERIFY(fc->isValid()); } @@ -194,39 +219,41 @@ // Check if all our configs are still valid after the backend is gone KScreen::BackendManager::instance()->shutdownBackend(); - //qputenv("KSCREEN_BACKEND", "QScreen"); - qputenv("KSCREEN_BACKEND_INPROCESS", "0"); - BackendManager::instance()->setMethod(BackendManager::OutOfProcess); - QCOMPARE(BackendManager::instance()->method(), BackendManager::OutOfProcess); - int t_x_cold; + if (m_backendServiceInstalled) { + //qputenv("KSCREEN_BACKEND", "QScreen"); + qputenv("KSCREEN_BACKEND_INPROCESS", "0"); + BackendManager::instance()->setMethod(BackendManager::OutOfProcess); + QCOMPARE(BackendManager::instance()->method(), BackendManager::OutOfProcess); + int t_x_cold; - { + { + t.start(); + auto xp = new GetConfigOperation(); + xp->exec(); + t_x_cold = t.nsecsElapsed(); + auto xc = xp->config(); + QVERIFY(xc != nullptr); + } t.start(); auto xp = new GetConfigOperation(); xp->exec(); - t_x_cold = t.nsecsElapsed(); + int t_x_warm = t.nsecsElapsed(); auto xc = xp->config(); QVERIFY(xc != nullptr); + + // Make sure in-process is faster + QVERIFY(t_cold > t_warm); + QVERIFY(t_x_cold > t_x_warm); + QVERIFY(t_x_cold > t_cold); + return; + qDebug() << "ip speedup for cached access:" << (qreal)((qreal)t_cold / (qreal)t_warm); + qDebug() << "oop speedup for cached access:" << (qreal)((qreal)t_x_cold / (qreal)t_x_warm); + qDebug() << "out-of vs. in-process speedup:" << (qreal)((qreal)t_x_warm / (qreal)t_warm); + qDebug() << "cold oop: " << ((qreal)t_x_cold / 1000000); + qDebug() << "cached oop: " << ((qreal)t_x_warm / 1000000); + qDebug() << "cold in process: " << ((qreal)t_cold / 1000000); + qDebug() << "cached in process: " << ((qreal)t_warm / 1000000); } - t.start(); - auto xp = new GetConfigOperation(); - xp->exec(); - int t_x_warm = t.nsecsElapsed(); - auto xc = xp->config(); - QVERIFY(xc != nullptr); - - // Make sure in-process is faster - QVERIFY(t_cold > t_warm); - QVERIFY(t_x_cold > t_x_warm); - QVERIFY(t_x_cold > t_cold); - return; - qDebug() << "ip speedup for cached access:" << (qreal)((qreal)t_cold / (qreal)t_warm); - qDebug() << "oop speedup for cached access:" << (qreal)((qreal)t_x_cold / (qreal)t_x_warm); - qDebug() << "out-of vs. in-process speedup:" << (qreal)((qreal)t_x_warm / (qreal)t_warm); - qDebug() << "cold oop: " << ((qreal)t_x_cold / 1000000); - qDebug() << "cached oop: " << ((qreal)t_x_warm / 1000000); - qDebug() << "cold in process: " << ((qreal)t_cold / 1000000); - qDebug() << "cached in process: " << ((qreal)t_warm / 1000000); } void TestInProcess::testCreateJob() @@ -243,7 +270,7 @@ QVERIFY(cc != nullptr); QVERIFY(cc->isValid()); } - { + if (m_backendServiceInstalled) { BackendManager::instance()->setMethod(BackendManager::OutOfProcess); auto op = new GetConfigOperation(); auto _op = qobject_cast<GetConfigOperation*>(op);
