Merge lp:~xavi-garcia-mena/indicator-sound/remove-warning-message-in-volume-notification into lp:indicator-sound/15.10
- remove-warning-message-in-volume-notification
- Merge into trunk.15.10
Status: | Merged |
---|---|
Approved by: | Charles Kerr |
Approved revision: | 515 |
Merged at revision: | 508 |
Proposed branch: | lp:~xavi-garcia-mena/indicator-sound/remove-warning-message-in-volume-notification |
Merge into: | lp:indicator-sound/15.10 |
Prerequisite: | lp:~xavi-garcia-mena/indicator-sound/bluetooth-usb-hdmi-labels-with-tests |
Diff against target: |
574 lines (+146/-109) 12 files modified
debian/changelog (+7/-0) debian/control (+0/-11) src/CMakeLists.txt (+2/-1) src/service.vala (+39/-44) tests/CMakeLists.txt (+4/-3) tests/dbus-types/org.freedesktop.Accounts.xml (+1/-0) tests/integration/indicator-sound-test-base.cpp (+22/-6) tests/integration/indicator-sound-test-base.h (+14/-0) tests/integration/test-indicator.cpp (+52/-41) tests/notifications-test.cc (+2/-2) tests/service-mocks/accounts-mock/CMakeLists.txt (+1/-1) tests/service-mocks/accounts-mock/org.freedesktop.Accounts.Mock.xml (+2/-0) |
To merge this branch: | bzr merge lp:~xavi-garcia-mena/indicator-sound/remove-warning-message-in-volume-notification |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Charles Kerr (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email:
|
Commit message
This branch removes the warning message in the volume notification.
Description of the change
This branch removes the warning message in the volume notification.
- 510. By Xavi Garcia
-
Include all the integration tests
- 511. By Xavi Garcia
-
Update unit test
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:511
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
- 512. By Xavi Garcia
-
Disabled unit test with race condition issues
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:511
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:512
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
- 513. By Xavi Garcia
-
Changed unit test to wait for the indicator to connect the user accounts
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:513
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
- 514. By Xavi Garcia
-
changed wait mechanism when stopping sound
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:513
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:514
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Charles Kerr (charlesk) wrote : | # |
Overall LGTM.
Comments + questions + minor suggestion inline
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Xavi Garcia (xavi-garcia-mena) wrote : | # |
Charles,
thanks for the review, inline comments updated
- 515. By Xavi Garcia
-
Changes as suggested
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Charles Kerr (charlesk) : | # |
- 516. By Xavi Garcia
-
Checking capabilites in every notification. This is a workaround as it was observed that when using headphones the capabilities are not correct when we check for the first time
- 517. By Xavi Garcia
-
Integration tests updated
- 518. By Xavi Garcia
-
Changelog modified
- 519. By Xavi Garcia
-
Disable integration tests to avoid universe dependencies
- 520. By Xavi Garcia
-
Disable integration tests to avoid universe dependencies
Preview Diff
1 | === modified file 'debian/changelog' | |||
2 | --- debian/changelog 2015-10-19 07:54:06 +0000 | |||
3 | +++ debian/changelog 2015-11-03 16:23:44 +0000 | |||
4 | @@ -1,3 +1,10 @@ | |||
5 | 1 | indicator-sound (12.10.2+15.10.20151019-0ubuntu2) UNRELEASED; urgency=medium | ||
6 | 2 | |||
7 | 3 | * Added OSD notifications to show output source when the volume or | ||
8 | 4 | source change (LP: #1382548, LP: #1415480, LP: #1484589) | ||
9 | 5 | |||
10 | 6 | -- Xavi Garcia <xavi.garcia.mena@canonical.com> Tue, 03 Nov 2015 12:29:19 +0100 | ||
11 | 7 | |||
12 | 1 | indicator-sound (12.10.2+15.10.20151019-0ubuntu1) wily; urgency=medium | 8 | indicator-sound (12.10.2+15.10.20151019-0ubuntu1) wily; urgency=medium |
13 | 2 | 9 | ||
14 | 3 | [ Xavi Garcia Mena ] | 10 | [ Xavi Garcia Mena ] |
15 | 4 | 11 | ||
16 | === modified file 'debian/control' | |||
17 | --- debian/control 2015-11-03 16:23:44 +0000 | |||
18 | +++ debian/control 2015-02-27 17:52:05 +0000 | |||
19 | @@ -5,13 +5,11 @@ | |||
20 | 5 | XSBC-Original-Maintainer: Conor Curran <conor.curran@canonical.com> | 5 | XSBC-Original-Maintainer: Conor Curran <conor.curran@canonical.com> |
21 | 6 | Build-Depends: debhelper (>= 9.0), | 6 | Build-Depends: debhelper (>= 9.0), |
22 | 7 | cmake, | 7 | cmake, |
23 | 8 | cmake-extras (>= 0.4), | ||
24 | 9 | dbus, | 8 | dbus, |
25 | 10 | dbus-test-runner (>> 14.04.0+14.04.20150120.1), | 9 | dbus-test-runner (>> 14.04.0+14.04.20150120.1), |
26 | 11 | dh-translations, | 10 | dh-translations, |
27 | 12 | gir1.2-accountsservice-1.0, | 11 | gir1.2-accountsservice-1.0, |
28 | 13 | gnome-common, | 12 | gnome-common, |
29 | 14 | google-mock (>= 1.6.0+svn437), | ||
30 | 15 | gsettings-ubuntu-schemas, | 13 | gsettings-ubuntu-schemas, |
31 | 16 | autotools-dev, | 14 | autotools-dev, |
32 | 17 | valac (>= 0.20), | 15 | valac (>= 0.20), |
33 | @@ -20,22 +18,13 @@ | |||
34 | 20 | libgirepository1.0-dev, | 18 | libgirepository1.0-dev, |
35 | 21 | libglib2.0-dev (>= 2.22.3), | 19 | libglib2.0-dev (>= 2.22.3), |
36 | 22 | libgtest-dev, | 20 | libgtest-dev, |
37 | 23 | libqtdbusmock1-dev (>= 0.3), | ||
38 | 24 | libqtdbustest1-dev, | ||
39 | 25 | libunity-api-dev, | ||
40 | 26 | liburl-dispatcher1-dev, | 21 | liburl-dispatcher1-dev, |
41 | 27 | libpulse-dev (>= 1:4.0-0ubuntu21), | 22 | libpulse-dev (>= 1:4.0-0ubuntu21), |
42 | 28 | libpulse-mainloop-glib0 (>= 0.9.18), | 23 | libpulse-mainloop-glib0 (>= 0.9.18), |
43 | 29 | libnotify-dev, | 24 | libnotify-dev, |
44 | 30 | libgee-dev, | 25 | libgee-dev, |
45 | 31 | libxml2-dev, | 26 | libxml2-dev, |
46 | 32 | pulseaudio, | ||
47 | 33 | python3-dbusmock, | 27 | python3-dbusmock, |
48 | 34 | qt5-default, | ||
49 | 35 | qtbase5-dev, | ||
50 | 36 | qtbase5-dev-tools, | ||
51 | 37 | qtdeclarative5-dev, | ||
52 | 38 | qtdeclarative5-dev-tools, | ||
53 | 39 | Standards-Version: 3.9.4 | 28 | Standards-Version: 3.9.4 |
54 | 40 | Homepage: https://launchpad.net/indicator-sound | 29 | Homepage: https://launchpad.net/indicator-sound |
55 | 41 | # If you aren't a member of ~indicator-applet-developers but need to upload | 30 | # If you aren't a member of ~indicator-applet-developers but need to upload |
56 | 42 | 31 | ||
57 | === modified file 'src/CMakeLists.txt' | |||
58 | --- src/CMakeLists.txt 2015-11-03 16:23:44 +0000 | |||
59 | +++ src/CMakeLists.txt 2015-11-03 16:23:44 +0000 | |||
60 | @@ -207,4 +207,5 @@ | |||
61 | 207 | RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/indicator-sound/ | 207 | RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/indicator-sound/ |
62 | 208 | ) | 208 | ) |
63 | 209 | 209 | ||
65 | 210 | add_subdirectory(gmenuharness) | 210 | # Disable integration tests |
66 | 211 | # add_subdirectory(gmenuharness) | ||
67 | 211 | 212 | ||
68 | === modified file 'src/service.vala' | |||
69 | --- src/service.vala 2015-11-03 16:23:44 +0000 | |||
70 | +++ src/service.vala 2015-11-03 16:23:44 +0000 | |||
71 | @@ -565,14 +565,45 @@ | |||
72 | 565 | return icon; | 565 | return icon; |
73 | 566 | } | 566 | } |
74 | 567 | 567 | ||
75 | 568 | private string get_notification_label () { | ||
76 | 569 | string volume_label = ""; | ||
77 | 570 | switch (volume_control.active_output) | ||
78 | 571 | { | ||
79 | 572 | case VolumeControl.ActiveOutput.SPEAKERS: | ||
80 | 573 | volume_label = _("Speakers"); | ||
81 | 574 | break; | ||
82 | 575 | case VolumeControl.ActiveOutput.HEADPHONES: | ||
83 | 576 | volume_label = _("Headphones"); | ||
84 | 577 | break; | ||
85 | 578 | case VolumeControl.ActiveOutput.BLUETOOTH_HEADPHONES: | ||
86 | 579 | volume_label = _("Bluetooth headphones"); | ||
87 | 580 | break; | ||
88 | 581 | case VolumeControl.ActiveOutput.BLUETOOTH_SPEAKER: | ||
89 | 582 | volume_label = _("Bluetooth speaker"); | ||
90 | 583 | break; | ||
91 | 584 | case VolumeControl.ActiveOutput.USB_SPEAKER: | ||
92 | 585 | volume_label = _("Usb speaker"); | ||
93 | 586 | break; | ||
94 | 587 | case VolumeControl.ActiveOutput.USB_HEADPHONES: | ||
95 | 588 | volume_label = _("Usb headphones"); | ||
96 | 589 | break; | ||
97 | 590 | case VolumeControl.ActiveOutput.HDMI_SPEAKER: | ||
98 | 591 | volume_label = _("HDMI speaker"); | ||
99 | 592 | break; | ||
100 | 593 | case VolumeControl.ActiveOutput.HDMI_HEADPHONES: | ||
101 | 594 | volume_label = _("HDMI headphones"); | ||
102 | 595 | break; | ||
103 | 596 | } | ||
104 | 597 | |||
105 | 598 | return volume_label; | ||
106 | 599 | } | ||
107 | 600 | |||
108 | 568 | private void update_notification () { | 601 | private void update_notification () { |
109 | 569 | 602 | ||
116 | 570 | if (!notify_server_caps_checked) { | 603 | List<string> caps = Notify.get_server_caps (); |
117 | 571 | List<string> caps = Notify.get_server_caps (); | 604 | notify_server_supports_actions = caps.find_custom ("actions", strcmp) != null; |
118 | 572 | notify_server_supports_actions = caps.find_custom ("actions", strcmp) != null; | 605 | notify_server_supports_sync = caps.find_custom ("x-canonical-private-synchronous", strcmp) != null; |
119 | 573 | notify_server_supports_sync = caps.find_custom ("x-canonical-private-synchronous", strcmp) != null; | 606 | notify_server_caps_checked = true; |
114 | 574 | notify_server_caps_checked = true; | ||
115 | 575 | } | ||
120 | 576 | 607 | ||
121 | 577 | var loud = volume_control.high_volume; | 608 | var loud = volume_control.high_volume; |
122 | 578 | var warn = loud | 609 | var warn = loud |
123 | @@ -610,44 +641,8 @@ | |||
124 | 610 | if (notify_server_supports_sync && !block_info_notifications) { | 641 | if (notify_server_supports_sync && !block_info_notifications) { |
125 | 611 | 642 | ||
126 | 612 | /* Determine Label */ | 643 | /* Determine Label */ |
165 | 613 | string volume_label = loud | 644 | string volume_label = get_notification_label (); |
166 | 614 | ? _("High volume can damage your hearing.") | 645 | |
129 | 615 | : ""; | ||
130 | 616 | |||
131 | 617 | if (volume_label == "") { | ||
132 | 618 | if (volume_control.active_output == VolumeControl.ActiveOutput.SPEAKERS) { | ||
133 | 619 | volume_label = _("Speakers"); | ||
134 | 620 | } | ||
135 | 621 | |||
136 | 622 | if (volume_control.active_output == VolumeControl.ActiveOutput.HEADPHONES) { | ||
137 | 623 | volume_label = _("Headphones"); | ||
138 | 624 | } | ||
139 | 625 | |||
140 | 626 | if (volume_control.active_output == VolumeControl.ActiveOutput.BLUETOOTH_HEADPHONES) { | ||
141 | 627 | volume_label = _("Bluetooth headphones"); | ||
142 | 628 | } | ||
143 | 629 | |||
144 | 630 | if (volume_control.active_output == VolumeControl.ActiveOutput.BLUETOOTH_SPEAKER) { | ||
145 | 631 | volume_label = _("Bluetooth speaker"); | ||
146 | 632 | } | ||
147 | 633 | |||
148 | 634 | if (volume_control.active_output == VolumeControl.ActiveOutput.USB_SPEAKER) { | ||
149 | 635 | volume_label = _("Usb speaker"); | ||
150 | 636 | } | ||
151 | 637 | |||
152 | 638 | if (volume_control.active_output == VolumeControl.ActiveOutput.USB_HEADPHONES) { | ||
153 | 639 | volume_label = _("Usb headphones"); | ||
154 | 640 | } | ||
155 | 641 | |||
156 | 642 | if (volume_control.active_output == VolumeControl.ActiveOutput.HDMI_SPEAKER) { | ||
157 | 643 | volume_label = _("HDMI speaker"); | ||
158 | 644 | } | ||
159 | 645 | |||
160 | 646 | if (volume_control.active_output == VolumeControl.ActiveOutput.HDMI_HEADPHONES) { | ||
161 | 647 | volume_label = _("HDMI headphones"); | ||
162 | 648 | } | ||
163 | 649 | } | ||
164 | 650 | |||
167 | 651 | /* Choose an icon */ | 646 | /* Choose an icon */ |
168 | 652 | string icon = get_volume_notification_icon (volume_control.volume.volume, loud, volume_control.active_output); | 647 | string icon = get_volume_notification_icon (volume_control.volume.volume, loud, volume_control.active_output); |
169 | 653 | 648 | ||
170 | 654 | 649 | ||
171 | === modified file 'tests/CMakeLists.txt' | |||
172 | --- tests/CMakeLists.txt 2015-11-03 16:23:44 +0000 | |||
173 | +++ tests/CMakeLists.txt 2015-11-03 16:23:44 +0000 | |||
174 | @@ -281,6 +281,7 @@ | |||
175 | 281 | indicator-test | 281 | indicator-test |
176 | 282 | ) | 282 | ) |
177 | 283 | 283 | ||
178 | 284 | add_subdirectory(integration) | ||
179 | 285 | add_subdirectory(dbus-types) | ||
180 | 286 | add_subdirectory(service-mocks) | ||
181 | 287 | \ No newline at end of file | 284 | \ No newline at end of file |
182 | 285 | # Disable integration tests | ||
183 | 286 | # add_subdirectory(integration) | ||
184 | 287 | # add_subdirectory(dbus-types) | ||
185 | 288 | # add_subdirectory(service-mocks) | ||
186 | 288 | 289 | ||
187 | === modified file 'tests/dbus-types/org.freedesktop.Accounts.xml' | |||
188 | --- tests/dbus-types/org.freedesktop.Accounts.xml 2015-11-03 16:23:44 +0000 | |||
189 | +++ tests/dbus-types/org.freedesktop.Accounts.xml 2015-11-03 16:23:44 +0000 | |||
190 | @@ -1,3 +1,4 @@ | |||
191 | 1 | <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> | ||
192 | 1 | <node> | 2 | <node> |
193 | 2 | <interface name="org.freedesktop.Accounts"> | 3 | <interface name="org.freedesktop.Accounts"> |
194 | 3 | <method name="FindUserByName"> | 4 | <method name="FindUserByName"> |
195 | 4 | 5 | ||
196 | === modified file 'tests/integration/indicator-sound-test-base.cpp' | |||
197 | --- tests/integration/indicator-sound-test-base.cpp 2015-11-03 16:23:44 +0000 | |||
198 | +++ tests/integration/indicator-sound-test-base.cpp 2015-11-03 16:23:44 +0000 | |||
199 | @@ -407,11 +407,11 @@ | |||
200 | 407 | auto username = qgetenv("USER"); | 407 | auto username = qgetenv("USER"); |
201 | 408 | if (username != "") | 408 | if (username != "") |
202 | 409 | { | 409 | { |
204 | 410 | std::unique_ptr<AccountsInterface> accountsInterface(new AccountsInterface("org.freedesktop.Accounts", | 410 | main_accounts_interface_.reset(new AccountsInterface("org.freedesktop.Accounts", |
205 | 411 | "/org/freedesktop/Accounts", | 411 | "/org/freedesktop/Accounts", |
206 | 412 | dbusTestRunner.systemConnection(), 0)); | 412 | dbusTestRunner.systemConnection(), 0)); |
207 | 413 | 413 | ||
209 | 414 | QDBusReply<QDBusObjectPath> userResp = accountsInterface->call(QLatin1String("FindUserByName"), | 414 | QDBusReply<QDBusObjectPath> userResp = main_accounts_interface_->call(QLatin1String("FindUserByName"), |
210 | 415 | QLatin1String(username)); | 415 | QLatin1String(username)); |
211 | 416 | 416 | ||
212 | 417 | if (!userResp.isValid()) | 417 | if (!userResp.isValid()) |
213 | @@ -743,6 +743,7 @@ | |||
214 | 743 | notificationsSpy.clear(); | 743 | notificationsSpy.clear(); |
215 | 744 | } | 744 | } |
216 | 745 | 745 | ||
217 | 746 | notificationsSpy.clear(); | ||
218 | 746 | // activate the headphones | 747 | // activate the headphones |
219 | 747 | EXPECT_TRUE(activateHeadphones(true)); | 748 | EXPECT_TRUE(activateHeadphones(true)); |
220 | 748 | 749 | ||
221 | @@ -759,8 +760,9 @@ | |||
222 | 759 | } | 760 | } |
223 | 760 | else | 761 | else |
224 | 761 | { | 762 | { |
227 | 762 | WAIT_FOR_SIGNALS(notificationsSpy, 1); | 763 | WAIT_FOR_SIGNALS(notificationsSpy, 2); |
228 | 763 | checkVolumeNotification(INITIAL_VOLUME, headphonesString, false, notificationsSpy.at(0)); | 764 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
229 | 765 | checkVolumeNotification(INITIAL_VOLUME, headphonesString, false, notificationsSpy.at(1)); | ||
230 | 764 | notificationsSpy.clear(); | 766 | notificationsSpy.clear(); |
231 | 765 | } | 767 | } |
232 | 766 | 768 | ||
233 | @@ -784,8 +786,9 @@ | |||
234 | 784 | // deactivate the headphones | 786 | // deactivate the headphones |
235 | 785 | EXPECT_TRUE(activateHeadphones(false)); | 787 | EXPECT_TRUE(activateHeadphones(false)); |
236 | 786 | 788 | ||
239 | 787 | WAIT_FOR_SIGNALS(notificationsSpy, 1); | 789 | WAIT_FOR_SIGNALS(notificationsSpy, 2); |
240 | 788 | checkVolumeNotification(INITIAL_VOLUME, speakerString, false, notificationsSpy.at(0)); | 790 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
241 | 791 | checkVolumeNotification(INITIAL_VOLUME, speakerString, false, notificationsSpy.at(1)); | ||
242 | 789 | notificationsSpy.clear(); | 792 | notificationsSpy.clear(); |
243 | 790 | 793 | ||
244 | 791 | // check the label in the menu | 794 | // check the label in the menu |
245 | @@ -805,3 +808,16 @@ | |||
246 | 805 | ) | 808 | ) |
247 | 806 | ).match()); | 809 | ).match()); |
248 | 807 | } | 810 | } |
249 | 811 | |||
250 | 812 | bool IndicatorSoundTestBase::setVolumeUntilAccountsIsConnected(double volume) | ||
251 | 813 | { | ||
252 | 814 | int RETRY_TIME = 5000; | ||
253 | 815 | |||
254 | 816 | setActionValue("volume", QVariant::fromValue(volume)); | ||
255 | 817 | while(!signal_spy_volume_changed_->wait(10) && RETRY_TIME) | ||
256 | 818 | { | ||
257 | 819 | RETRY_TIME -= 10; | ||
258 | 820 | setActionValue("volume", QVariant::fromValue(volume)); | ||
259 | 821 | } | ||
260 | 822 | return (signal_spy_volume_changed_->count() != 0); | ||
261 | 823 | } | ||
262 | 808 | 824 | ||
263 | === modified file 'tests/integration/indicator-sound-test-base.h' | |||
264 | --- tests/integration/indicator-sound-test-base.h 2015-11-03 16:23:44 +0000 | |||
265 | +++ tests/integration/indicator-sound-test-base.h 2015-11-03 16:23:44 +0000 | |||
266 | @@ -31,6 +31,7 @@ | |||
267 | 31 | class MenusInterface; | 31 | class MenusInterface; |
268 | 32 | class DBusPulseVolume; | 32 | class DBusPulseVolume; |
269 | 33 | class DBusPropertiesInterface; | 33 | class DBusPropertiesInterface; |
270 | 34 | class AccountsInterface; | ||
271 | 34 | class QSignalSpy; | 35 | class QSignalSpy; |
272 | 35 | 36 | ||
273 | 36 | #define WAIT_FOR_SIGNALS(signalSpy, signalsExpected)\ | 37 | #define WAIT_FOR_SIGNALS(signalSpy, signalsExpected)\ |
274 | @@ -42,6 +43,15 @@ | |||
275 | 42 | ASSERT_EQ(signalsExpected, signalSpy.size());\ | 43 | ASSERT_EQ(signalsExpected, signalSpy.size());\ |
276 | 43 | } | 44 | } |
277 | 44 | 45 | ||
278 | 46 | #define WAIT_AT_LEAST_SIGNALS(signalSpy, signalsExpected)\ | ||
279 | 47 | {\ | ||
280 | 48 | while (signalSpy.size() < signalsExpected)\ | ||
281 | 49 | {\ | ||
282 | 50 | ASSERT_TRUE(signalSpy.wait());\ | ||
283 | 51 | }\ | ||
284 | 52 | ASSERT_TRUE(signalsExpected <= signalSpy.size());\ | ||
285 | 53 | } | ||
286 | 54 | |||
287 | 45 | class IndicatorSoundTestBase: public testing::Test | 55 | class IndicatorSoundTestBase: public testing::Test |
288 | 46 | { | 56 | { |
289 | 47 | public: | 57 | public: |
290 | @@ -122,6 +132,8 @@ | |||
291 | 122 | 132 | ||
292 | 123 | void checkPortDevicesLabels(DevicePortType speakerPort, DevicePortType headphonesPort); | 133 | void checkPortDevicesLabels(DevicePortType speakerPort, DevicePortType headphonesPort); |
293 | 124 | 134 | ||
294 | 135 | bool setVolumeUntilAccountsIsConnected(double volume); | ||
295 | 136 | |||
296 | 125 | QtDBusTest::DBusTestRunner dbusTestRunner; | 137 | QtDBusTest::DBusTestRunner dbusTestRunner; |
297 | 126 | 138 | ||
298 | 127 | QtDBusMock::DBusMock dbusMock; | 139 | QtDBusMock::DBusMock dbusMock; |
299 | @@ -140,6 +152,8 @@ | |||
300 | 140 | 152 | ||
301 | 141 | std::unique_ptr<DBusPropertiesInterface> accounts_interface_; | 153 | std::unique_ptr<DBusPropertiesInterface> accounts_interface_; |
302 | 142 | 154 | ||
303 | 155 | std::unique_ptr<AccountsInterface> main_accounts_interface_; | ||
304 | 156 | |||
305 | 143 | std::unique_ptr<QSignalSpy> signal_spy_volume_changed_; | 157 | std::unique_ptr<QSignalSpy> signal_spy_volume_changed_; |
306 | 144 | 158 | ||
307 | 145 | std::unique_ptr<QSignalSpy> signal_spy_menu_changed_; | 159 | std::unique_ptr<QSignalSpy> signal_spy_menu_changed_; |
308 | 146 | 160 | ||
309 | === modified file 'tests/integration/test-indicator.cpp' | |||
310 | --- tests/integration/test-indicator.cpp 2015-11-03 16:23:44 +0000 | |||
311 | +++ tests/integration/test-indicator.cpp 2015-11-03 16:23:44 +0000 | |||
312 | @@ -55,9 +55,7 @@ | |||
313 | 55 | QSignalSpy &userAccountsSpy = *signal_spy_volume_changed_; | 55 | QSignalSpy &userAccountsSpy = *signal_spy_volume_changed_; |
314 | 56 | // set an initial volume to the alert role | 56 | // set an initial volume to the alert role |
315 | 57 | userAccountsSpy.clear(); | 57 | userAccountsSpy.clear(); |
319 | 58 | setStreamRestoreVolume("alert", 1.0); | 58 | EXPECT_TRUE(setVolumeUntilAccountsIsConnected(1.0)); |
317 | 59 | WAIT_FOR_SIGNALS(userAccountsSpy, 2); | ||
318 | 60 | |||
320 | 61 | userAccountsSpy.clear(); | 59 | userAccountsSpy.clear(); |
321 | 62 | // play a test sound, it should change the role in the indicator | 60 | // play a test sound, it should change the role in the indicator |
322 | 63 | EXPECT_TRUE(startTestSound("multimedia")); | 61 | EXPECT_TRUE(startTestSound("multimedia")); |
323 | @@ -69,7 +67,7 @@ | |||
324 | 69 | 67 | ||
325 | 70 | userAccountsSpy.clear(); | 68 | userAccountsSpy.clear(); |
326 | 71 | // set the random volume to the multimedia role | 69 | // set the random volume to the multimedia role |
328 | 72 | EXPECT_TRUE(setStreamRestoreVolume("multimedia", randomVolume)); | 70 | setActionValue("volume", QVariant::fromValue(randomVolume)); |
329 | 73 | if (randomVolume != INITIAL_VOLUME) | 71 | if (randomVolume != INITIAL_VOLUME) |
330 | 74 | { | 72 | { |
331 | 75 | WAIT_FOR_SIGNALS(userAccountsSpy, 1); | 73 | WAIT_FOR_SIGNALS(userAccountsSpy, 1); |
332 | @@ -106,14 +104,15 @@ | |||
333 | 106 | ) | 104 | ) |
334 | 107 | ).match()); | 105 | ).match()); |
335 | 108 | 106 | ||
336 | 107 | // initialize the signal spy | ||
337 | 108 | EXPECT_TRUE(initializeMenuChangedSignal()); | ||
338 | 109 | userAccountsSpy.clear(); | 109 | userAccountsSpy.clear(); |
339 | 110 | // stop the test sound, the role should change again to alert | 110 | // stop the test sound, the role should change again to alert |
340 | 111 | stopTestSound(); | 111 | stopTestSound(); |
341 | 112 | if (randomVolume != 1.0) | 112 | if (randomVolume != 1.0) |
342 | 113 | { | 113 | { |
346 | 114 | // we only wait if the volume in the alert and the | 114 | // wait for the menu change |
347 | 115 | // one set in the multimedia roles differ | 115 | EXPECT_TRUE(waitMenuChange()); |
345 | 116 | WAIT_FOR_SIGNALS(userAccountsSpy, 1); | ||
348 | 117 | } | 116 | } |
349 | 118 | 117 | ||
350 | 119 | // check the initial volume for the alert role | 118 | // check the initial volume for the alert role |
351 | @@ -696,16 +695,18 @@ | |||
352 | 696 | notificationsSpy.clear(); | 695 | notificationsSpy.clear(); |
353 | 697 | setActionValue("volume", QVariant::fromValue(0.0)); | 696 | setActionValue("volume", QVariant::fromValue(0.0)); |
354 | 698 | 697 | ||
356 | 699 | WAIT_FOR_SIGNALS(notificationsSpy, 1) | 698 | WAIT_FOR_SIGNALS(notificationsSpy, 2) |
357 | 700 | 699 | ||
359 | 701 | checkVolumeNotification(0.0, "Speakers", false, notificationsSpy.at(0)); | 700 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
360 | 701 | checkVolumeNotification(0.0, "Speakers", false, notificationsSpy.at(1)); | ||
361 | 702 | 702 | ||
362 | 703 | notificationsSpy.clear(); | 703 | notificationsSpy.clear(); |
363 | 704 | setActionValue("volume", QVariant::fromValue(0.5)); | 704 | setActionValue("volume", QVariant::fromValue(0.5)); |
364 | 705 | 705 | ||
366 | 706 | WAIT_FOR_SIGNALS(notificationsSpy, 1) | 706 | WAIT_FOR_SIGNALS(notificationsSpy, 2) |
367 | 707 | 707 | ||
369 | 708 | checkVolumeNotification(0.5, "Speakers", false, notificationsSpy.at(0)); | 708 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
370 | 709 | checkVolumeNotification(0.5, "Speakers", false, notificationsSpy.at(1)); | ||
371 | 709 | } | 710 | } |
372 | 710 | 711 | ||
373 | 711 | TEST_F(TestIndicator, PhoneNotificationWarningVolume) | 712 | TEST_F(TestIndicator, PhoneNotificationWarningVolume) |
374 | @@ -748,34 +749,38 @@ | |||
375 | 748 | setActionValue("volume", QVariant::fromValue(0.3)); | 749 | setActionValue("volume", QVariant::fromValue(0.3)); |
376 | 749 | EXPECT_TRUE(waitVolumeChangedInIndicator()); | 750 | EXPECT_TRUE(waitVolumeChangedInIndicator()); |
377 | 750 | 751 | ||
379 | 751 | WAIT_FOR_SIGNALS(notificationsSpy, 1); | 752 | WAIT_FOR_SIGNALS(notificationsSpy, 2); |
380 | 752 | 753 | ||
382 | 753 | checkVolumeNotification(0.3, "Headphones", false, notificationsSpy.at(0)); | 754 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
383 | 755 | checkVolumeNotification(0.3, "Headphones", false, notificationsSpy.at(1)); | ||
384 | 754 | notificationsSpy.clear(); | 756 | notificationsSpy.clear(); |
385 | 755 | 757 | ||
386 | 756 | // change volume to 0.5... no warning should be emitted | 758 | // change volume to 0.5... no warning should be emitted |
387 | 757 | setActionValue("volume", QVariant::fromValue(0.5)); | 759 | setActionValue("volume", QVariant::fromValue(0.5)); |
388 | 758 | EXPECT_TRUE(waitVolumeChangedInIndicator()); | 760 | EXPECT_TRUE(waitVolumeChangedInIndicator()); |
389 | 759 | 761 | ||
391 | 760 | WAIT_FOR_SIGNALS(notificationsSpy, 1); | 762 | WAIT_FOR_SIGNALS(notificationsSpy, 2); |
392 | 761 | 763 | ||
394 | 762 | checkVolumeNotification(0.5, "Headphones", false, notificationsSpy.at(0)); | 764 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
395 | 765 | checkVolumeNotification(0.5, "Headphones", false, notificationsSpy.at(1)); | ||
396 | 763 | notificationsSpy.clear(); | 766 | notificationsSpy.clear(); |
397 | 764 | 767 | ||
398 | 765 | // change volume to 1.0... warning should be emitted | 768 | // change volume to 1.0... warning should be emitted |
399 | 766 | setActionValue("volume", QVariant::fromValue(1.0)); | 769 | setActionValue("volume", QVariant::fromValue(1.0)); |
400 | 767 | EXPECT_TRUE(waitVolumeChangedInIndicator()); | 770 | EXPECT_TRUE(waitVolumeChangedInIndicator()); |
401 | 768 | 771 | ||
403 | 769 | WAIT_FOR_SIGNALS(notificationsSpy, 4); | 772 | WAIT_FOR_SIGNALS(notificationsSpy, 8); |
404 | 770 | 773 | ||
405 | 771 | // the notification is sent twice (TODO check why) | 774 | // the notification is sent twice (TODO check why) |
410 | 772 | checkCloseNotification(1, notificationsSpy.at(0)); | 775 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
411 | 773 | checkHighVolumeNotification(notificationsSpy.at(1)); | 776 | checkCloseNotification(1, notificationsSpy.at(1)); |
412 | 774 | checkCloseNotification(1, notificationsSpy.at(2)); | 777 | checkHighVolumeNotification(notificationsSpy.at(2)); |
413 | 775 | checkHighVolumeNotification(notificationsSpy.at(3)); | 778 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(3)); |
414 | 779 | checkCloseNotification(1, notificationsSpy.at(4)); | ||
415 | 780 | checkHighVolumeNotification(notificationsSpy.at(5)); | ||
416 | 776 | 781 | ||
417 | 777 | // get the last notification ID | 782 | // get the last notification ID |
419 | 778 | int idNotification = getNotificationID(notificationsSpy.at(3)); | 783 | int idNotification = getNotificationID(notificationsSpy.at(5)); |
420 | 779 | ASSERT_NE(-1, idNotification); | 784 | ASSERT_NE(-1, idNotification); |
421 | 780 | 785 | ||
422 | 781 | qWarning() << "XGM: id Notification: " << idNotification; | 786 | qWarning() << "XGM: id Notification: " << idNotification; |
423 | @@ -808,19 +813,17 @@ | |||
424 | 808 | setActionValue("volume", QVariant::fromValue(1.0)); | 813 | setActionValue("volume", QVariant::fromValue(1.0)); |
425 | 809 | EXPECT_TRUE(waitVolumeChangedInIndicator()); | 814 | EXPECT_TRUE(waitVolumeChangedInIndicator()); |
426 | 810 | 815 | ||
428 | 811 | WAIT_FOR_SIGNALS(notificationsSpy, 2); | 816 | WAIT_FOR_SIGNALS(notificationsSpy, 6); |
429 | 812 | 817 | ||
433 | 813 | // checkCloseNotification(1, notificationsSpy.at(0)); | 818 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
431 | 814 | checkHighVolumeNotification(notificationsSpy.at(0)); | ||
432 | 815 | // checkCloseNotification(1, notificationsSpy.at(2)); | ||
434 | 816 | checkHighVolumeNotification(notificationsSpy.at(1)); | 819 | checkHighVolumeNotification(notificationsSpy.at(1)); |
435 | 820 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(2)); | ||
436 | 821 | checkHighVolumeNotification(notificationsSpy.at(3)); | ||
437 | 817 | 822 | ||
438 | 818 | // get the last notification ID | 823 | // get the last notification ID |
439 | 819 | idNotification = getNotificationID(notificationsSpy.at(1)); | 824 | idNotification = getNotificationID(notificationsSpy.at(1)); |
440 | 820 | ASSERT_NE(-1, idNotification); | 825 | ASSERT_NE(-1, idNotification); |
441 | 821 | 826 | ||
442 | 822 | qWarning() << "XGM: id Notification: " << idNotification; | ||
443 | 823 | |||
444 | 824 | // this time we approve | 827 | // this time we approve |
445 | 825 | pressNotificationButton(idNotification, "ok"); | 828 | pressNotificationButton(idNotification, "ok"); |
446 | 826 | 829 | ||
447 | @@ -853,13 +856,15 @@ | |||
448 | 853 | setActionValue("volume", QVariant::fromValue(0.5)); | 856 | setActionValue("volume", QVariant::fromValue(0.5)); |
449 | 854 | EXPECT_TRUE(waitVolumeChangedInIndicator()); | 857 | EXPECT_TRUE(waitVolumeChangedInIndicator()); |
450 | 855 | 858 | ||
452 | 856 | WAIT_FOR_SIGNALS(notificationsSpy, 4); | 859 | WAIT_FOR_SIGNALS(notificationsSpy, 6); |
453 | 857 | 860 | ||
454 | 858 | // check the notification TODO check why the sound indicator sends it twice | 861 | // check the notification TODO check why the sound indicator sends it twice |
459 | 859 | checkCloseNotification(idNotification, notificationsSpy.at(0)); | 862 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
460 | 860 | checkVolumeNotification(0.5, "Headphones", false, notificationsSpy.at(1)); | 863 | checkCloseNotification(idNotification, notificationsSpy.at(1)); |
461 | 861 | checkCloseNotification(idNotification, notificationsSpy.at(2)); | 864 | checkVolumeNotification(0.5, "Headphones", false, notificationsSpy.at(2)); |
462 | 862 | checkVolumeNotification(0.5, "Headphones", false, notificationsSpy.at(3)); | 865 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(3)); |
463 | 866 | checkCloseNotification(idNotification, notificationsSpy.at(4)); | ||
464 | 867 | checkVolumeNotification(0.5, "Headphones", false, notificationsSpy.at(5)); | ||
465 | 863 | 868 | ||
466 | 864 | // check that the volume was applied | 869 | // check that the volume was applied |
467 | 865 | // and that we don't have the warning item | 870 | // and that we don't have the warning item |
468 | @@ -886,13 +891,16 @@ | |||
469 | 886 | setActionValue("volume", QVariant::fromValue(1.0)); | 891 | setActionValue("volume", QVariant::fromValue(1.0)); |
470 | 887 | EXPECT_TRUE(waitVolumeChangedInIndicator()); | 892 | EXPECT_TRUE(waitVolumeChangedInIndicator()); |
471 | 888 | 893 | ||
473 | 889 | WAIT_FOR_SIGNALS(notificationsSpy, 2); | 894 | WAIT_FOR_SIGNALS(notificationsSpy, 4); |
474 | 890 | 895 | ||
475 | 891 | // check the notification TODO check why the sound indicator sends it twice | 896 | // check the notification TODO check why the sound indicator sends it twice |
478 | 892 | checkVolumeNotification(1.0, "High volume can damage your hearing.", true, notificationsSpy.at(0)); | 897 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
479 | 893 | checkVolumeNotification(1.0, "High volume can damage your hearing.", true, notificationsSpy.at(1)); | 898 | checkVolumeNotification(1.0, "Headphones", true, notificationsSpy.at(1)); |
480 | 899 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(2)); | ||
481 | 900 | checkVolumeNotification(1.0, "Headphones", true, notificationsSpy.at(3)); | ||
482 | 894 | } | 901 | } |
483 | 895 | 902 | ||
484 | 903 | |||
485 | 896 | TEST_F(TestIndicator, PhoneNotificationWarningVolumeAlertMode) | 904 | TEST_F(TestIndicator, PhoneNotificationWarningVolumeAlertMode) |
486 | 897 | { | 905 | { |
487 | 898 | double INITIAL_VOLUME = 0.0; | 906 | double INITIAL_VOLUME = 0.0; |
488 | @@ -920,30 +928,33 @@ | |||
489 | 920 | // change volume to 0.0... no warning should be emitted | 928 | // change volume to 0.0... no warning should be emitted |
490 | 921 | setActionValue("volume", QVariant::fromValue(0.0)); | 929 | setActionValue("volume", QVariant::fromValue(0.0)); |
491 | 922 | 930 | ||
493 | 923 | WAIT_FOR_SIGNALS(notificationsSpy, 4); | 931 | WAIT_FOR_SIGNALS(notificationsSpy, 5); |
494 | 924 | 932 | ||
495 | 925 | // the first time we also have the calls to | 933 | // the first time we also have the calls to |
496 | 926 | // GetServerInformation and GetCapabilities | 934 | // GetServerInformation and GetCapabilities |
497 | 927 | checkNotificationWithNoArgs("GetServerInformation", notificationsSpy.at(0)); | 935 | checkNotificationWithNoArgs("GetServerInformation", notificationsSpy.at(0)); |
498 | 928 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(1)); | 936 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(1)); |
499 | 929 | checkVolumeNotification(0.0, "Headphones", false, notificationsSpy.at(2)); | 937 | checkVolumeNotification(0.0, "Headphones", false, notificationsSpy.at(2)); |
501 | 930 | checkVolumeNotification(0.0, "Headphones", false, notificationsSpy.at(3)); | 938 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(3)); |
502 | 939 | checkVolumeNotification(0.0, "Headphones", false, notificationsSpy.at(4)); | ||
503 | 931 | notificationsSpy.clear(); | 940 | notificationsSpy.clear(); |
504 | 932 | 941 | ||
505 | 933 | // change volume to 0.5... no warning should be emitted | 942 | // change volume to 0.5... no warning should be emitted |
506 | 934 | setActionValue("volume", QVariant::fromValue(0.5)); | 943 | setActionValue("volume", QVariant::fromValue(0.5)); |
507 | 935 | 944 | ||
509 | 936 | WAIT_FOR_SIGNALS(notificationsSpy, 1); | 945 | WAIT_FOR_SIGNALS(notificationsSpy, 2); |
510 | 937 | 946 | ||
512 | 938 | checkVolumeNotification(0.5, "Headphones", false, notificationsSpy.at(0)); | 947 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
513 | 948 | checkVolumeNotification(0.5, "Headphones", false, notificationsSpy.at(1)); | ||
514 | 939 | notificationsSpy.clear(); | 949 | notificationsSpy.clear(); |
515 | 940 | 950 | ||
516 | 941 | // change volume to 1.0... no warning should be emitted, we are in alert mode | 951 | // change volume to 1.0... no warning should be emitted, we are in alert mode |
517 | 942 | setActionValue("volume", QVariant::fromValue(1.0)); | 952 | setActionValue("volume", QVariant::fromValue(1.0)); |
518 | 943 | 953 | ||
520 | 944 | WAIT_FOR_SIGNALS(notificationsSpy, 1); | 954 | WAIT_FOR_SIGNALS(notificationsSpy, 2); |
521 | 945 | 955 | ||
523 | 946 | checkVolumeNotification(1.0, "Headphones", false, notificationsSpy.at(0)); | 956 | checkNotificationWithNoArgs("GetCapabilities", notificationsSpy.at(0)); |
524 | 957 | checkVolumeNotification(1.0, "Headphones", false, notificationsSpy.at(1)); | ||
525 | 947 | notificationsSpy.clear(); | 958 | notificationsSpy.clear(); |
526 | 948 | } | 959 | } |
527 | 949 | 960 | ||
528 | 950 | 961 | ||
529 | === modified file 'tests/notifications-test.cc' | |||
530 | --- tests/notifications-test.cc 2015-11-03 16:23:44 +0000 | |||
531 | +++ tests/notifications-test.cc 2015-11-03 16:23:44 +0000 | |||
532 | @@ -356,7 +356,7 @@ | |||
533 | 356 | notev = notifications->getNotifications(); | 356 | notev = notifications->getNotifications(); |
534 | 357 | ASSERT_LT(0, notev.size()); /* This passes with one or two since it would just be an update to the first if a second was sent */ | 357 | ASSERT_LT(0, notev.size()); /* This passes with one or two since it would just be an update to the first if a second was sent */ |
535 | 358 | EXPECT_EQ("Volume", notev[0].summary); | 358 | EXPECT_EQ("Volume", notev[0].summary); |
537 | 359 | EXPECT_EQ("High volume can damage your hearing.", notev[0].body); | 359 | EXPECT_EQ("Speakers", notev[0].body); |
538 | 360 | EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-value-bar-tint"]); | 360 | EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-value-bar-tint"]); |
539 | 361 | 361 | ||
540 | 362 | /* Move it back */ | 362 | /* Move it back */ |
541 | @@ -372,7 +372,7 @@ | |||
542 | 372 | notev = notifications->getNotifications(); | 372 | notev = notifications->getNotifications(); |
543 | 373 | ASSERT_EQ(1, notev.size()); | 373 | ASSERT_EQ(1, notev.size()); |
544 | 374 | EXPECT_EQ("Volume", notev[0].summary); | 374 | EXPECT_EQ("Volume", notev[0].summary); |
546 | 375 | EXPECT_EQ("High volume can damage your hearing.", notev[0].body); | 375 | EXPECT_EQ("Speakers", notev[0].body); |
547 | 376 | EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-value-bar-tint"]); | 376 | EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-value-bar-tint"]); |
548 | 377 | } | 377 | } |
549 | 378 | 378 | ||
550 | 379 | 379 | ||
551 | === modified file 'tests/service-mocks/accounts-mock/CMakeLists.txt' | |||
552 | --- tests/service-mocks/accounts-mock/CMakeLists.txt 2015-11-03 16:23:44 +0000 | |||
553 | +++ tests/service-mocks/accounts-mock/CMakeLists.txt 2015-11-03 16:23:44 +0000 | |||
554 | @@ -20,7 +20,7 @@ | |||
555 | 20 | AccountsServiceSoundMockAdaptor) | 20 | AccountsServiceSoundMockAdaptor) |
556 | 21 | 21 | ||
557 | 22 | qt5_add_dbus_adaptor(adaptor_files | 22 | qt5_add_dbus_adaptor(adaptor_files |
559 | 23 | org.freedesktop.Accounts.Mock.xml | 23 | ${CMAKE_SOURCE_DIR}/tests/dbus-types/org.freedesktop.Accounts.xml |
560 | 24 | AccountsMock.h | 24 | AccountsMock.h |
561 | 25 | ubuntu::indicators::testing::AccountsMock | 25 | ubuntu::indicators::testing::AccountsMock |
562 | 26 | AccountsMockAdaptor) | 26 | AccountsMockAdaptor) |
563 | 27 | 27 | ||
564 | === modified file 'tests/service-mocks/accounts-mock/org.freedesktop.Accounts.Mock.xml' | |||
565 | --- tests/service-mocks/accounts-mock/org.freedesktop.Accounts.Mock.xml 2015-11-03 16:23:44 +0000 | |||
566 | +++ tests/service-mocks/accounts-mock/org.freedesktop.Accounts.Mock.xml 2015-11-03 16:23:44 +0000 | |||
567 | @@ -9,5 +9,7 @@ | |||
568 | 9 | <arg direction="in" type="x" name="uid" /> | 9 | <arg direction="in" type="x" name="uid" /> |
569 | 10 | <arg direction="out" type="o" name="path" /> | 10 | <arg direction="out" type="o" name="path" /> |
570 | 11 | </method> | 11 | </method> |
571 | 12 | <signal name="FindUserByIdInvoked"> | ||
572 | 13 | </signal> | ||
573 | 12 | </interface> | 14 | </interface> |
574 | 13 | </node> | 15 | </node> |
PASSED: Continuous integration, rev:510 jenkins. qa.ubuntu. com/job/ indicator- sound-ci/ 276/ jenkins. qa.ubuntu. com/job/ indicator- sound-wily- amd64-ci/ 52 jenkins. qa.ubuntu. com/job/ indicator- sound-wily- armhf-ci/ 52 jenkins. qa.ubuntu. com/job/ indicator- sound-wily- armhf-ci/ 52/artifact/ work/output/ *zip*/output. zip
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/indicator- sound-ci/ 276/rebuild
http://