Review Request: Fix KGlobalSettingsTest failure

Aurélien Gâteau agateau at kde.org
Thu Jul 28 11:26:43 BST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/102098/#review5166
-----------------------------------------------------------


I don't think it is good for unit-tests to test different things depending on environment variables (
@David, what is your opinion on the subject?)

I was actually about to commit a simpler fix:

@@ -26,11 +26,11 @@ QTEST_KDEMAIN( KGlobalSettingsTest, GUI )
 #include <kglobalsettings.h>
 #include <kdebug.h>
 #include <kprocess.h>
 #include <QtCore/QEventLoop>
 #include <QtDBus/QtDBus>
-
+#include <stdlib.h>
 /**
  * The strategy of this test is:
  * We install QSignalSpy instances on many signals from KGlobalSettings::self(),
  * and then we get another process (kglobalsettingsclient) to call emitChange(),
  * and we check that the corresponding signals are emitted, i.e. that our process
@@ -39,10 +39,15 @@ QTEST_KDEMAIN( KGlobalSettingsTest, GUI )
  * As a nice side-effect we automatically test a bit of KProcess as well :)
  */
 
 void KGlobalSettingsTest::initTestCase()
 {
+    // Some signals are only emitted when we are running a full KDE session. If
+    // we are not then KDE applications follow the platform palette and font
+    // settings.
+    setenv("KDE_FULL_SESSION", "1", 1);
+
     QDBusConnectionInterface *bus = 0;
     if (!QDBusConnection::sessionBus().isConnected() || !(bus = QDBusConnection::sessionBus().interface())) {
         QFAIL("Session bus not found");
     }
 }

- Aurélien


On July 27, 2011, 4:31 p.m., Frank Reininghaus wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/102098/
> -----------------------------------------------------------
> 
> (Updated July 27, 2011, 4:31 p.m.)
> 
> 
> Review request for kdelibs, Aurélien Gâteau and David Faure.
> 
> 
> Summary
> -------
> 
> Since commit b064749a754ec358170ecb7f19828e4216f6e965, KDE palette and font settings are only used when running KDE apps in a full KDE session. This makes KGlobalSettingsTest fail if the test is not run in a full KDE session, see
> 
> http://my.cdash.org/testSummary.php?project=16&name=kdeui-kglobalsettingstest&date=2011-07-27
> 
> This commit changes KGlobalSettings' unit test to reflect that change. My first idea was to change the unit test such that it verifies the expected behaviour for both situations, i.e., apps run in a full KDE session and apps run in some other kind of session, but I could not figure out a way to do this without changing the KDE_FULL_SESSION environment variable before the unit test executable is run.
> 
> In the case that the signal is not expected, I reduced the kWaitForSignal timeout to prevent wasting too much time each time the test is run.
> 
> 
> Diffs
> -----
> 
>   kdeui/tests/kglobalsettingstest.h 69ed5bf 
>   kdeui/tests/kglobalsettingstest.cpp 464825d 
> 
> Diff: http://git.reviewboard.kde.org/r/102098/diff
> 
> 
> Testing
> -------
> 
> The test passes here (run by my kde-devel user in a Konsole inside the regular user's KDE 4.6 session).
> 
> 
> Thanks,
> 
> Frank
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20110728/f18f9fa7/attachment.htm>


More information about the kde-core-devel mailing list