on xenial help sign in
fix failing username and real name tests
d235a87Lukáš Tinkl
plugins/Unity/Session/dbusunitysessionservice.cpp+2−2
@@ -241,7 +241,7 @@ bool DBusUnitySessionService::CanLock() const
241
241
242QString DBusUnitySessionService::UserName() const
242QString DBusUnitySessionService::UserName() const
243{
243{
244− struct passwd *p = getpwuid(getuid());
244+ struct passwd *p = getpwuid(geteuid());
245 if (p) {
245 if (p) {
246 return QString::fromUtf8(p->pw_name);
246 return QString::fromUtf8(p->pw_name);
247 }
247 }
@@ -251,7 +251,7 @@ QString DBusUnitySessionService::UserName() const
251
251
252QString DBusUnitySessionService::RealName() const
252QString DBusUnitySessionService::RealName() const
253{
253{
254− struct passwd *p = getpwuid(getuid());
254+ struct passwd *p = getpwuid(geteuid());
255 if (p) {
255 if (p) {
256 const QString gecos = QString::fromLocal8Bit(p->pw_gecos);
256 const QString gecos = QString::fromLocal8Bit(p->pw_gecos);
257 if (!gecos.isEmpty()) {
257 if (!gecos.isEmpty()) {
tests/plugins/Unity/Session/sessionbackendtest.cpp+4−6
@@ -134,14 +134,12 @@ private Q_SLOTS:
134 QCoreApplication::processEvents(); // to let the service register on DBus
134 QCoreApplication::processEvents(); // to let the service register on DBus
135
135
136 QDBusInterface accIface("org.freedesktop.Accounts", "/org/freedesktop/Accounts", "org.freedesktop.Accounts", QDBusConnection::systemBus());
136 QDBusInterface accIface("org.freedesktop.Accounts", "/org/freedesktop/Accounts", "org.freedesktop.Accounts", QDBusConnection::systemBus());
137− QVERIFY(accIface.isValid());
137+ QTRY_VERIFY(accIface.isValid());
138 QDBusReply<QDBusObjectPath> userPath = accIface.asyncCall("FindUserById", static_cast<qint64>(geteuid()));
138 QDBusReply<QDBusObjectPath> userPath = accIface.asyncCall("FindUserById", static_cast<qint64>(geteuid()));
139− if (!userPath.isValid()) {
139+ if (userPath.isValid()) {
140− QFAIL("Could not get user path in Account Service");
140+ QDBusInterface userAccIface("org.freedesktop.Accounts", userPath.value().path(), "org.freedesktop.Accounts.User", QDBusConnection::systemBus());
141+ QTRY_COMPARE(dbusUnitySessionService.RealName(), userAccIface.property("RealName").toString());
141 }
142 }
142−
143− QDBusInterface userAccIface("org.freedesktop.Accounts", userPath.value().path(), "org.freedesktop.Accounts.User", QDBusConnection::systemBus());
144− QCOMPARE(dbusUnitySessionService.RealName(), userAccIface.property("RealName").toString());
145 }
143 }
146
144
147 void testLogin1Capabilities() {
145 void testLogin1Capabilities() {