touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #105469
[Bug 1498825] [NEW] SessionBackend tests unreliable, talk to real system services
Public bug reported:
The new SessionBackend tests talk to the real system services (like
logind), which means the result depends on where the test is ran. They
pass on CI because the tests are effectively skipped if the service
isn't available. On the other hand it fails for me (see below), because
my laptop does not hibernate and the answer from logind is "na", not
"no":
$> qdbus --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.CanHibernate
na
The tests need to talk to a mock service (on the session bus) that's
launched along the test using dbus-test-runner. Use
QDBusConnection::SM_BUSNAME() to switch the implementation between
system and session buses (see e.g. AccountsService tests for examples).
$> ninja -C builddir testSessionBackend
ninja: Entering directory `builddir'
[1/1] Re-running CMake...
-- Could NOT find Lcov (missing: LCOV_EXECUTABLE GENHTML_EXECUTABLE)
-- Could NOT find gcovr (missing: GCOVR_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/michal/dev/canonical/unity8/repo/builddir
[3/3] cd /home/michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session && env QML2_IMPORT_PATH=/home/michal/dev/canonica...michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session/testSessionBackend.xml,xunitxml --parameter -o --parameter -,txt
FAILED: cd /home/michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session && env QML2_IMPORT_PATH=/home/michal/dev/canonical/unity8/repo/builddir/tests/mocks:/home/michal/dev/canonical/unity8/repo/builddir/tests/utils/modules:/home/michal/dev/canonical/unity8/repo/builddir/plugins UNITY_TESTING=1 LANGUAGE=C LC_ALL=C.UTF-8 QT_QPA_PLATFORM=minimal /usr/bin/dbus-test-runner --task /home/michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session/sessionbackendtestExec --parameter -o --parameter /home/michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session/testSessionBackend.xml,xunitxml --parameter -o --parameter -,txt
DBus daemon: unix:abstract=/tmp/dbus-SUPywz2RlD,guid=c082954870d6b539cdebaf6e56026aca
task-0: Started with PID: 1331
task-0: ********* Start testing of SessionBackendTest *********
task-0: Config: Using QtTest library 5.4.2, Qt 5.4.2 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 5.2.1 20150729)
task-0: PASS : SessionBackendTest::initTestCase()
task-0: PASS : SessionBackendTest::testUnitySessionLogoutRequested(Logout)
task-0: PASS : SessionBackendTest::testUnitySessionLogoutRequested(Reboot)
task-0: PASS : SessionBackendTest::testUnitySessionLogoutRequested(Shutdown)
task-0: PASS : SessionBackendTest::testUnitySessionLogoutRequested(PromptLock)
task-0: PASS : SessionBackendTest::testGnomeSessionWrapper(Logout)
task-0: PASS : SessionBackendTest::testGnomeSessionWrapper(Shutdown)
task-0: PASS : SessionBackendTest::testGnomeSessionWrapper(Reboot)
task-0: PASS : SessionBackendTest::testUserName()
task-0: PASS : SessionBackendTest::testRealName()
task-0: FAIL! : SessionBackendTest::testLogin1Capabilities() Compared values are not the same
task-0: Actual (dbusUnitySessionService.CanHibernate()) : 0
task-0: Expected ((login1face.call("CanHibernate").arguments().first().toString() != "no")): 1
task-0: Loc: [../tests/plugins/Unity/Session/sessionbackendtest.cpp(157)]
task-0: PASS : SessionBackendTest::cleanupTestCase()
task-0: Totals: 11 passed, 1 failed, 0 skipped, 0 blacklisted
task-0: ********* Finished testing of SessionBackendTest *********
task-0: Exited with status 256
task-0: Shutting down
DBus daemon: Shutdown
ninja: build stopped: subcommand failed.
ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: unity8 8.11+15.10.20150922.1-0ubuntu1
ProcVersionSignature: Ubuntu 4.2.0-10.12-generic 4.2.0
Uname: Linux 4.2.0-10-generic x86_64
ApportVersion: 2.18.1-0ubuntu1
Architecture: amd64
CurrentDesktop: Unity
Date: Wed Sep 23 11:02:45 2015
SourcePackage: unity8
UpgradeStatus: Upgraded to wily on 2015-09-18 (5 days ago)
** Affects: unity8 (Ubuntu)
Importance: High
Assignee: Lukáš Tinkl (lukas-kde)
Status: Triaged
** Tags: amd64 apport-bug wily
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1498825
Title:
SessionBackend tests unreliable, talk to real system services
Status in unity8 package in Ubuntu:
Triaged
Bug description:
The new SessionBackend tests talk to the real system services (like
logind), which means the result depends on where the test is ran. They
pass on CI because the tests are effectively skipped if the service
isn't available. On the other hand it fails for me (see below),
because my laptop does not hibernate and the answer from logind is
"na", not "no":
$> qdbus --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.CanHibernate
na
The tests need to talk to a mock service (on the session bus) that's
launched along the test using dbus-test-runner. Use
QDBusConnection::SM_BUSNAME() to switch the implementation between
system and session buses (see e.g. AccountsService tests for
examples).
$> ninja -C builddir testSessionBackend
ninja: Entering directory `builddir'
[1/1] Re-running CMake...
-- Could NOT find Lcov (missing: LCOV_EXECUTABLE GENHTML_EXECUTABLE)
-- Could NOT find gcovr (missing: GCOVR_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/michal/dev/canonical/unity8/repo/builddir
[3/3] cd /home/michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session && env QML2_IMPORT_PATH=/home/michal/dev/canonica...michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session/testSessionBackend.xml,xunitxml --parameter -o --parameter -,txt
FAILED: cd /home/michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session && env QML2_IMPORT_PATH=/home/michal/dev/canonical/unity8/repo/builddir/tests/mocks:/home/michal/dev/canonical/unity8/repo/builddir/tests/utils/modules:/home/michal/dev/canonical/unity8/repo/builddir/plugins UNITY_TESTING=1 LANGUAGE=C LC_ALL=C.UTF-8 QT_QPA_PLATFORM=minimal /usr/bin/dbus-test-runner --task /home/michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session/sessionbackendtestExec --parameter -o --parameter /home/michal/dev/canonical/unity8/repo/builddir/tests/plugins/Unity/Session/testSessionBackend.xml,xunitxml --parameter -o --parameter -,txt
DBus daemon: unix:abstract=/tmp/dbus-SUPywz2RlD,guid=c082954870d6b539cdebaf6e56026aca
task-0: Started with PID: 1331
task-0: ********* Start testing of SessionBackendTest *********
task-0: Config: Using QtTest library 5.4.2, Qt 5.4.2 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 5.2.1 20150729)
task-0: PASS : SessionBackendTest::initTestCase()
task-0: PASS : SessionBackendTest::testUnitySessionLogoutRequested(Logout)
task-0: PASS : SessionBackendTest::testUnitySessionLogoutRequested(Reboot)
task-0: PASS : SessionBackendTest::testUnitySessionLogoutRequested(Shutdown)
task-0: PASS : SessionBackendTest::testUnitySessionLogoutRequested(PromptLock)
task-0: PASS : SessionBackendTest::testGnomeSessionWrapper(Logout)
task-0: PASS : SessionBackendTest::testGnomeSessionWrapper(Shutdown)
task-0: PASS : SessionBackendTest::testGnomeSessionWrapper(Reboot)
task-0: PASS : SessionBackendTest::testUserName()
task-0: PASS : SessionBackendTest::testRealName()
task-0: FAIL! : SessionBackendTest::testLogin1Capabilities() Compared values are not the same
task-0: Actual (dbusUnitySessionService.CanHibernate()) : 0
task-0: Expected ((login1face.call("CanHibernate").arguments().first().toString() != "no")): 1
task-0: Loc: [../tests/plugins/Unity/Session/sessionbackendtest.cpp(157)]
task-0: PASS : SessionBackendTest::cleanupTestCase()
task-0: Totals: 11 passed, 1 failed, 0 skipped, 0 blacklisted
task-0: ********* Finished testing of SessionBackendTest *********
task-0: Exited with status 256
task-0: Shutting down
DBus daemon: Shutdown
ninja: build stopped: subcommand failed.
ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: unity8 8.11+15.10.20150922.1-0ubuntu1
ProcVersionSignature: Ubuntu 4.2.0-10.12-generic 4.2.0
Uname: Linux 4.2.0-10-generic x86_64
ApportVersion: 2.18.1-0ubuntu1
Architecture: amd64
CurrentDesktop: Unity
Date: Wed Sep 23 11:02:45 2015
SourcePackage: unity8
UpgradeStatus: Upgraded to wily on 2015-09-18 (5 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1498825/+subscriptions