Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package krunner for openSUSE:Factory checked in at 2022-11-15 13:17:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/krunner (Old) and /work/SRC/openSUSE:Factory/.krunner.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "krunner" Tue Nov 15 13:17:39 2022 rev:106 rq:1035419 version:5.100.0 Changes: -------- --- /work/SRC/openSUSE:Factory/krunner/krunner.changes 2022-10-11 18:02:18.673770685 +0200 +++ /work/SRC/openSUSE:Factory/.krunner.new.1597/krunner.changes 2022-11-15 13:19:57.616346924 +0100 @@ -1,0 +2,11 @@ +Tue Nov 8 08:35:23 UTC 2022 - Christophe Giboudeaux <[email protected]> + +- Update to 5.100.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.100.0 +- Changes since 5.99.0: + * Ignore "templates" folder for cppcheck CI + * runnermanager: only emit `queryFinished` when previous jobs are still running + +------------------------------------------------------------------- Old: ---- krunner-5.99.0.tar.xz krunner-5.99.0.tar.xz.sig New: ---- krunner-5.100.0.tar.xz krunner-5.100.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ krunner.spec ++++++ --- /var/tmp/diff_new_pack.lRFMVg/_old 2022-11-15 13:19:58.152349691 +0100 +++ /var/tmp/diff_new_pack.lRFMVg/_new 2022-11-15 13:19:58.160349732 +0100 @@ -17,7 +17,7 @@ %define lname libKF5Runner5 -%define _tar_path 5.99 +%define _tar_path 5.100 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) @@ -25,7 +25,7 @@ # Only needed for the package signature condition %bcond_without released Name: krunner -Version: 5.99.0 +Version: 5.100.0 Release: 0 Summary: KDE Framework for providing different actions given a string query License: LGPL-2.1-or-later ++++++ krunner-5.99.0.tar.xz -> krunner-5.100.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.99.0/.kde-ci.yml new/krunner-5.100.0/.kde-ci.yml --- old/krunner-5.99.0/.kde-ci.yml 2022-10-01 15:20:51.000000000 +0200 +++ new/krunner-5.100.0/.kde-ci.yml 2022-11-05 13:31:26.000000000 +0100 @@ -15,3 +15,4 @@ Options: test-before-installing: True require-passing-tests-on: [ 'Linux', 'FreeBSD' ] + cppcheck-ignore-files: ['templates/'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.99.0/CMakeLists.txt new/krunner-5.100.0/CMakeLists.txt --- old/krunner-5.99.0/CMakeLists.txt 2022-10-01 15:20:51.000000000 +0200 +++ new/krunner-5.100.0/CMakeLists.txt 2022-11-05 13:31:26.000000000 +0100 @@ -3,13 +3,13 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.99.0") # handled by release scripts -set(KF_DEP_VERSION "5.99.0") # handled by release scripts +set(KF_VERSION "5.100.0") # handled by release scripts +set(KF_DEP_VERSION "5.100.0") # handled by release scripts project(KRunner VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.99.0 NO_MODULE) +find_package(ECM 5.100.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.99.0/autotests/runnermanagertest.cpp new/krunner-5.100.0/autotests/runnermanagertest.cpp --- old/krunner-5.99.0/autotests/runnermanagertest.cpp 2022-10-01 15:20:51.000000000 +0200 +++ new/krunner-5.100.0/autotests/runnermanagertest.cpp 2022-11-05 13:31:26.000000000 +0100 @@ -25,7 +25,7 @@ { Q_OBJECT private Q_SLOTS: - void loadRunner() + void initTestCase() { startDBusRunnerProcess({QStringLiteral("net.krunnertests.dave")}); qputenv("XDG_DATA_DIRS", QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation).toLocal8Bit()); @@ -34,25 +34,20 @@ auto md = parseMetaDataFromDesktopFile(QFINDTESTDATA("dbusrunnertestmulti.desktop")); QVERIFY(md.isValid()); manager->loadRunner(md); + qRegisterMetaType<QList<Plasma::QueryMatch>>(); } - void cleanup() + void cleanupTestCase() { killRunningDBusProcesses(); } - void init() - { - qRegisterMetaType<QList<Plasma::QueryMatch>>(); - } - /** * This will test the mechanismm that stalls for 250ms before emiting any result in RunnerManager::scheduleMatchesChanged() * and the mechanism that anticipates the last results emission in RunnerManager::jobDone(). */ void testScheduleMatchesChanged() { - loadRunner(); QSignalSpy spyQueryFinished(manager.get(), &Plasma::RunnerManager::queryFinished); QSignalSpy spyMatchesChanged(manager.get(), &Plasma::RunnerManager::matchesChanged); @@ -68,9 +63,6 @@ // This special string will simulate a 300ms delay manager->launchQuery("fooDelay300"); - // We will have one queryFinished emission immediately signaled by RunnerManager::reset() - QCOMPARE(spyQueryFinished.count(), 1); - // However not yet a matcheschanged, it should be stalled for 250ms QCOMPARE(spyMatchesChanged.count(), 0); @@ -82,7 +74,7 @@ QVERIFY(timer.elapsed() >= 250); QCOMPARE(spyMatchesChanged.count(), 1); QCOMPARE(manager->matches().count(), 0); // This is the empty matches "reset" emission, result is not ready yet - QCOMPARE(spyQueryFinished.count(), 1); // Still the same, query is not done + QCOMPARE(spyQueryFinished.count(), 0); // Still the same, query is not done // We programmed it to emit the result after 300ms, so we need to wait 50ms more for the next emission QVERIFY(spyQueryFinished.wait()); @@ -93,13 +85,32 @@ // At this point RunnerManager::jobDone() should have anticipated the final emission. QCOMPARE(spyMatchesChanged.count(), 2); // We had the second matchesChanged emission, now with the query result QCOMPARE(manager->matches().count(), 1); // The result is here - QCOMPARE(spyQueryFinished.count(), 2); // Will have emited queryFinished, job is done + QCOMPARE(spyQueryFinished.count(), 1); // Will have emited queryFinished, job is done // Now we will make sure that RunnerManager::scheduleMatchesChanged() emits matchesChanged instantly // if we start a query with an empty string. It will never produce results, stalling is meaningless manager->launchQuery(""); QCOMPARE(spyMatchesChanged.count(), 3); // One more, instantly, without stall QCOMPARE(manager->matches().count(), 0); // Empty results for empty query string + QVERIFY(spyQueryFinished.wait()); + } + + /** + * This will test queryFinished signal from reset() is emitted when the previous runners are + * still running. + */ + void testQueryFinishedFromReset() + { + QSignalSpy spyQueryFinished(manager.get(), &Plasma::RunnerManager::queryFinished); + + manager->launchQuery("fooDelay1000"); + QCOMPARE(spyQueryFinished.size(), 0); + + manager->launchQuery("fooDelay300"); + QCOMPARE(spyQueryFinished.size(), 1); // From reset() + + QVERIFY(spyQueryFinished.wait()); + QCOMPARE(spyQueryFinished.size(), 2); } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krunner-5.99.0/src/runnermanager.cpp new/krunner-5.100.0/src/runnermanager.cpp --- old/krunner-5.99.0/src/runnermanager.cpp 2022-10-01 15:20:51.000000000 +0200 +++ new/krunner-5.100.0/src/runnermanager.cpp 2022-11-05 13:31:26.000000000 +0100 @@ -1067,7 +1067,9 @@ d->searchJobs.clear(); d->context.reset(); - Q_EMIT queryFinished(); + if (!d->oldSearchJobs.empty()) { + Q_EMIT queryFinished(); + } } KPluginMetaData RunnerManager::convertDBusRunnerToJson(const QString &filename) const
