From 1ccaafb93ead38026b0ef2c0136b448c149ef17e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 1 Nov 2024 12:00:09 +0100 Subject: [PATCH] Vcs: Fix some of the clear case tests We get the updates now delayed, so wait for them. Change-Id: I53ad5ec5d881bbc87ca8c6becceda6fd9e1e3c43 Reviewed-by: Orgad Shaneh --- src/plugins/clearcase/clearcaseplugin.cpp | 4 +++- src/plugins/vcsbase/vcsbaseplugin.cpp | 3 +++ src/plugins/vcsbase/vcsbaseplugin.h | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index 4307e7a9d8b..8a5e1c8f0e1 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -2673,10 +2674,12 @@ void ClearCaseTest::testStatusActions() QFETCH(int, status); auto tempStatus = static_cast(status); + QSignalSpy spy(dd, &VcsBase::VersionControlBase::slotStateChangedDone); // special case: file should appear as "Unknown" since there is no entry in the index // and we don't want to explicitly set the status for this test case if (tempStatus != FileStatus::Unknown) dd->setStatus(fileName, tempStatus, true); + QVERIFY(spy.wait(1000)); QFETCH(bool, checkOutAction); QFETCH(bool, undoCheckOutAction); @@ -2712,7 +2715,6 @@ void ClearCaseTest::testVcsStatusDynamicReadonlyNotManaged() dd->m_viewData = testCase.dummyViewData(); dd->m_viewData.isDynamic = true; - QCOMPARE(dd->vcsStatus(fileName).status, FileStatus::NotManaged); } diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp index 631eb0f248f..9f2683f93dd 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.cpp +++ b/src/plugins/vcsbase/vcsbaseplugin.cpp @@ -552,6 +552,9 @@ void VersionControlBase::slotStateChanged(const Internal::State &newInternalStat } ICore::removeAdditionalContext(m_context); } +#ifdef WITH_TESTS + emit slotStateChangedDone(); +#endif } const VcsBasePluginState &VersionControlBase::currentState() const diff --git a/src/plugins/vcsbase/vcsbaseplugin.h b/src/plugins/vcsbase/vcsbaseplugin.h index b1c9abf32a8..b6df305c8d2 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.h +++ b/src/plugins/vcsbase/vcsbaseplugin.h @@ -176,6 +176,11 @@ protected: // Returns whether actions should be set up further. bool enableMenuAction(ActionState as, QAction *in) const; +#if WITH_TESTS +signals: + void slotStateChangedDone(); +#endif + private: void slotStateChanged(const Internal::State &s, Core::IVersionControl *vc);