Merge lp:~nskaggs/ubuntu-rssreader-app/ap-tweaks-force-build into lp:~ubuntu-shorts-dev/ubuntu-rssreader-app/trunk
- ap-tweaks-force-build
- Merge into trunk
Proposed by
Nicholas Skaggs
Status: | Merged |
---|---|
Approved by: | Nicholas Skaggs |
Approved revision: | 39 |
Merged at revision: | 38 |
Proposed branch: | lp:~nskaggs/ubuntu-rssreader-app/ap-tweaks-force-build |
Merge into: | lp:~ubuntu-shorts-dev/ubuntu-rssreader-app/trunk |
Diff against target: |
272 lines (+50/-55) 1 file modified
tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py (+50/-55) |
To merge this branch: | bzr merge lp:~nskaggs/ubuntu-rssreader-app/ap-tweaks-force-build |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu Phone Apps Jenkins Bot | continuous-integration | Approve | |
Ubuntu Shorts Developers | Pending | ||
Review via email:
|
This proposal supersedes a proposal from 2013-08-13.
Commit message
Tweak autopilot tests, force new build into ppa
Description of the change
Tweak autopilot tests, force new build into ppa
To post a comment you must log in.
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : Posted in a previous version of this proposal | # |
review:
Approve
(continuous-integration)
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) : Posted in a previous version of this proposal | # |
review:
Approve
(continuous-integration)
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:39
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
review:
Approve
(continuous-integration)
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) : | # |
review:
Approve
(continuous-integration)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py' | |||
2 | --- tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py 2013-08-13 21:02:12 +0000 | |||
3 | +++ tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py 2013-08-13 23:11:16 +0000 | |||
4 | @@ -18,8 +18,7 @@ | |||
5 | 18 | import shutil | 18 | import shutil |
6 | 19 | 19 | ||
7 | 20 | from autopilot.matchers import Eventually | 20 | from autopilot.matchers import Eventually |
10 | 21 | from testtools.matchers import Equals | 21 | from testtools.matchers import Equals, NotEquals, Is, Not |
9 | 22 | from testtools.matchers import NotEquals | ||
11 | 23 | 22 | ||
12 | 24 | from autopilot.introspection.dbus import StateNotFoundError | 23 | from autopilot.introspection.dbus import StateNotFoundError |
13 | 25 | from ubuntu_rssreader_app.tests import RssReaderAppTestCase | 24 | from ubuntu_rssreader_app.tests import RssReaderAppTestCase |
14 | @@ -35,9 +34,9 @@ | |||
15 | 35 | def _add_feed_and_topic(self): | 34 | def _add_feed_and_topic(self): |
16 | 36 | """test add feed and topic""" | 35 | """test add feed and topic""" |
17 | 37 | 36 | ||
21 | 38 | #verify we are on the first page | 37 | #verify we are on the first page) |
22 | 39 | shortsPage = self.main_view.switch_to_tab_by_index(0) | 38 | shortsPage = lambda: self.main_view.switch_to_tab_by_index(0).visible |
23 | 40 | self.assertThat(lambda: shortsPage.visible, Eventually(Equals(True))) | 39 | self.assertThat(shortsPage, Eventually(Equals(True))) |
24 | 41 | 40 | ||
25 | 42 | #open toolbar | 41 | #open toolbar |
26 | 43 | toolbar = self.main_view.open_toolbar() | 42 | toolbar = self.main_view.open_toolbar() |
27 | @@ -50,50 +49,50 @@ | |||
28 | 50 | self.main_view.run_action(addReadsPopover, "+ Add feeds") | 49 | self.main_view.run_action(addReadsPopover, "+ Add feeds") |
29 | 51 | 50 | ||
30 | 52 | #verify Append Feed page is open | 51 | #verify Append Feed page is open |
33 | 53 | appendpage = self.main_view.get_append_page() | 52 | appendpage = lambda: self.main_view.get_append_page().visible |
34 | 54 | self.assertThat(lambda: appendpage.visible, Eventually(Equals(True))) | 53 | self.assertThat(appendpage, Eventually(Equals(True))) |
35 | 55 | 54 | ||
36 | 56 | #type feed in input field | 55 | #type feed in input field |
37 | 57 | self._input_new_feed("http://www.canonical.com/rss.xml") | 56 | self._input_new_feed("http://www.canonical.com/rss.xml") |
38 | 58 | 57 | ||
39 | 59 | #check that feed is updated, not empty | 58 | #check that feed is updated, not empty |
40 | 59 | self.assertThat(self.main_view.get_canonical_feed_labelvisual, Eventually(Not(Is(None)))) | ||
41 | 60 | canonicalFeed = self.main_view.get_canonical_feed_labelvisual() | 60 | canonicalFeed = self.main_view.get_canonical_feed_labelvisual() |
44 | 61 | self.assertThat(lambda: canonicalFeed, Eventually(NotEquals(None))) | 61 | self.assertThat(canonicalFeed.text, Eventually(Equals("Canonical"))) |
43 | 62 | self.assertThat(lambda: canonicalFeed.text, Eventually(Equals("Canonical"))) | ||
45 | 63 | 62 | ||
46 | 64 | #click on checkbox to confirm feed | 63 | #click on checkbox to confirm feed |
47 | 64 | self.assertThat(self.main_view.get_checkbox_button, Eventually(Not(Is(None)))) | ||
48 | 65 | checkboxBtn = self.main_view.get_checkbox_button() | 65 | checkboxBtn = self.main_view.get_checkbox_button() |
49 | 66 | self.assertThat(lambda: checkboxBtn, Eventually(NotEquals(None))) | ||
50 | 67 | self.pointing_device.click_object(checkboxBtn) | 66 | self.pointing_device.click_object(checkboxBtn) |
52 | 68 | self.assertThat(lambda: checkboxBtn.checked, Eventually(Equals(True))) | 67 | self.assertThat(checkboxBtn.checked, Eventually(Equals(True))) |
53 | 69 | 68 | ||
54 | 70 | #click on Next button | 69 | #click on Next button |
55 | 70 | self.assertThat(self.main_view.get_next_button, Eventually(Not(Is(None)))) | ||
56 | 71 | nextButton = self.main_view.get_next_button() | 71 | nextButton = self.main_view.get_next_button() |
57 | 72 | self.assertThat(lambda: nextButton, Eventually(NotEquals(None))) | ||
58 | 73 | self.pointing_device.click_object(nextButton) | 72 | self.pointing_device.click_object(nextButton) |
59 | 74 | 73 | ||
62 | 75 | chossetopicpage = self.main_view.get_topics_page() | 74 | chossetopicpage = lambda: self.main_view.get_topics_page().visible |
63 | 76 | self.assertThat(lambda: chossetopicpage.visible, Eventually(Equals(True))) | 75 | self.assertThat(chossetopicpage, Eventually(Equals(True))) |
64 | 77 | 76 | ||
65 | 78 | #add a new topic | 77 | #add a new topic |
66 | 79 | self._input_new_topic("CanonicalTopic") | 78 | self._input_new_topic("CanonicalTopic") |
67 | 80 | 79 | ||
68 | 81 | #select canonical topic | 80 | #select canonical topic |
69 | 81 | self.assertThat(self.main_view.get_canonical_topic_labelvisual, Eventually(Not(Is(None)))) | ||
70 | 82 | canonicalTopic = self.main_view.get_canonical_topic_labelvisual() | 82 | canonicalTopic = self.main_view.get_canonical_topic_labelvisual() |
71 | 83 | self.assertThat(lambda: canonicalTopic, Eventually(NotEquals(None))) | ||
72 | 84 | self.pointing_device.click_object(canonicalTopic) | 83 | self.pointing_device.click_object(canonicalTopic) |
73 | 85 | 84 | ||
74 | 86 | #just for timing purposes | 85 | #just for timing purposes |
76 | 87 | self.assertThat(lambda: canonicalTopic.text, Eventually(Equals("CanonicalTopic"))) | 86 | self.assertThat(canonicalTopic.text, Eventually(Equals("CanonicalTopic"))) |
77 | 88 | 87 | ||
78 | 89 | #verify we are on the first page | 88 | #verify we are on the first page |
81 | 90 | shortsPage = self.main_view.switch_to_tab_by_index(0) | 89 | shortsPage = self.main_view.switch_to_tab_by_index(0).visible |
82 | 91 | self.assertThat(lambda: shortsPage.visible, Eventually(Equals(True))) | 90 | self.assertThat(shortsPage, Eventually(Equals(True))) |
83 | 92 | 91 | ||
84 | 93 | def _remove_feed(self): | 92 | def _remove_feed(self): |
85 | 94 | #verify we are on the first page | 93 | #verify we are on the first page |
88 | 95 | shortsPage = self.main_view.switch_to_tab_by_index(0) | 94 | shortsPage = self.main_view.switch_to_tab_by_index(0).visible |
89 | 96 | self.assertThat(lambda: shortsPage.visible, Eventually(Equals(True))) | 95 | self.assertThat(shortsPage, Eventually(Equals(True))) |
90 | 97 | 96 | ||
91 | 98 | #open toolbar | 97 | #open toolbar |
92 | 99 | toolbar = self.main_view.open_toolbar() | 98 | toolbar = self.main_view.open_toolbar() |
93 | @@ -102,16 +101,15 @@ | |||
94 | 102 | toolbar.click_button("edittopicsbutton") | 101 | toolbar.click_button("edittopicsbutton") |
95 | 103 | 102 | ||
96 | 104 | #verify we are on the Management page | 103 | #verify we are on the Management page |
99 | 105 | feedlistpage = self.main_view.get_feed_management_page() | 104 | feedlistpage = lambda: self.main_view.get_feed_management_page().visible |
100 | 106 | self.assertThat(feedlistpage.visible, Eventually(Equals(True))) | 105 | self.assertThat(feedlistpage, Eventually(Equals(True))) |
101 | 107 | 106 | ||
102 | 108 | #select canonical topic | 107 | #select canonical topic |
103 | 109 | self._get_canonical_topic() | 108 | self._get_canonical_topic() |
104 | 110 | 109 | ||
105 | 111 | #select canonical feed | 110 | #select canonical feed |
106 | 111 | self.assertThat(self.main_view.get_canonical_feed_FeedComponent, Eventually(Not(Is(None)))) | ||
107 | 112 | canonicalFeed = self.main_view.get_canonical_feed_FeedComponent() | 112 | canonicalFeed = self.main_view.get_canonical_feed_FeedComponent() |
108 | 113 | self.assertThat(lambda: canonicalFeed, Eventually(NotEquals(None))) | ||
109 | 114 | |||
110 | 115 | self.pointing_device.click_object(canonicalFeed) | 113 | self.pointing_device.click_object(canonicalFeed) |
111 | 116 | 114 | ||
112 | 117 | #verify we are on the Edit Feed page | 115 | #verify we are on the Edit Feed page |
113 | @@ -122,29 +120,27 @@ | |||
114 | 122 | self.main_view.open_toolbar() | 120 | self.main_view.open_toolbar() |
115 | 123 | 121 | ||
116 | 124 | #press delete button | 122 | #press delete button |
117 | 123 | self.assertThat(self.main_view.get_delete_button, Eventually(Not(Is(None)))) | ||
118 | 125 | deleteButton = self.main_view.get_delete_button() | 124 | deleteButton = self.main_view.get_delete_button() |
119 | 126 | self.assertThat(lambda: deleteButton, Eventually(NotEquals(None))) | ||
120 | 127 | self.pointing_device.click_object(deleteButton) | 125 | self.pointing_device.click_object(deleteButton) |
121 | 128 | 126 | ||
122 | 129 | #verify we are on the Management page | 127 | #verify we are on the Management page |
125 | 130 | feedlistpage = self.main_view.get_feed_management_page() | 128 | feedlistpage = lambda: self.main_view.get_feed_management_page().visible |
126 | 131 | self.assertThat(feedlistpage.visible, Eventually(Equals(True))) | 129 | self.assertThat(feedlistpage, Eventually(Equals(True))) |
127 | 132 | 130 | ||
131 | 133 | #select canonical topic | 131 | #check canonical topic |
132 | 134 | canonicalTopic = self.main_view.get_canonical_topic_labelvisual() | 132 | self.assertThat(self.main_view.get_canonical_topic_labelvisual, Eventually(Not(Is(None)))) |
130 | 135 | self.assertThat(lambda: canonicalTopic, Eventually(NotEquals(None))) | ||
133 | 136 | 133 | ||
134 | 137 | #check feed has been removed | 134 | #check feed has been removed |
137 | 138 | canonicalFeed = self.main_view.get_canonical_feed_FeedComponent() | 135 | self.assertThat(self.main_view.get_canonical_feed_FeedComponent, Eventually(Equals(None))) |
136 | 139 | self.assertThat(lambda: canonicalFeed, Eventually(Equals(None))) | ||
138 | 140 | 136 | ||
139 | 141 | def _remove_topic(self): | 137 | def _remove_topic(self): |
140 | 142 | #this been quasi converted to the sdk, but does not work as-is | 138 | #this been quasi converted to the sdk, but does not work as-is |
141 | 143 | #see https://bugs.launchpad.net/ubuntu-rssreader-app/+bug/1211631 | 139 | #see https://bugs.launchpad.net/ubuntu-rssreader-app/+bug/1211631 |
142 | 144 | 140 | ||
143 | 145 | #verify we are on the first page | 141 | #verify we are on the first page |
146 | 146 | shortsPage = self.main_view.switch_to_tab_by_index(0) | 142 | shortsPage = self.main_view.switch_to_tab_by_index(0).visible |
147 | 147 | self.assertThat(lambda: shortsPage.visible, Eventually(Equals(True))) | 143 | self.assertThat(shortsPage, Eventually(Equals(True))) |
148 | 148 | 144 | ||
149 | 149 | #open toolbar | 145 | #open toolbar |
150 | 150 | toolbar = self.main_view.open_toolbar() | 146 | toolbar = self.main_view.open_toolbar() |
151 | @@ -160,10 +156,10 @@ | |||
152 | 160 | canonicalTopic = self._get_canonical_topic() | 156 | canonicalTopic = self._get_canonical_topic() |
153 | 161 | 157 | ||
154 | 162 | topicsPage = self.main_view.get_manage_topics_page() | 158 | topicsPage = self.main_view.get_manage_topics_page() |
156 | 163 | self.assertThat(topicsPage, Eventually(NotEquals(None))) | 159 | self.assertThat(topicsPage, Eventually(Not(Is(None)))) |
157 | 164 | 160 | ||
160 | 165 | addATopicItem = self.main_view.get_add_a_topic() | 161 | addATopicItem = lambda: self.main_view.get_add_a_topic() |
161 | 166 | self.assertThat(lambda: addATopic, Eventually(NotEquals(None))) | 162 | self.assertThat(addATopic, Eventually(Not(Is(None)))) |
162 | 167 | 163 | ||
163 | 168 | #swipe to delete canonical topic | 164 | #swipe to delete canonical topic |
164 | 169 | #we have to consider the top tab offset, then create a swipe operation across the width of the page | 165 | #we have to consider the top tab offset, then create a swipe operation across the width of the page |
165 | @@ -177,8 +173,8 @@ | |||
166 | 177 | self.pointing_device.drag(startX, lineY, stopX, lineY) | 173 | self.pointing_device.drag(startX, lineY, stopX, lineY) |
167 | 178 | 174 | ||
168 | 179 | #check that it is gone | 175 | #check that it is gone |
171 | 180 | canonicalTopic = self.main_view.get_canonical_topic() | 176 | canonicalTopic = lambda: self.main_view.get_canonical_topic() |
172 | 181 | self.assertThat(lambda: canonicalTopic.visible, Eventually(Equals(False))) | 177 | self.assertThat(canonicalTopic.visible, Eventually(Equals(False))) |
173 | 182 | 178 | ||
174 | 183 | def _input_new_feed(self, rssFeed): | 179 | def _input_new_feed(self, rssFeed): |
175 | 184 | inputField = self.main_view.get_append_feed_input_box() | 180 | inputField = self.main_view.get_append_feed_input_box() |
176 | @@ -189,7 +185,6 @@ | |||
177 | 189 | return self._safe_enter_text(inputField, topic) | 185 | return self._safe_enter_text(inputField, topic) |
178 | 190 | 186 | ||
179 | 191 | def _safe_enter_text(self, inputField, text, timeout = 10): | 187 | def _safe_enter_text(self, inputField, text, timeout = 10): |
180 | 192 | self.assertThat(lambda: inputField.visible, Eventually(Equals(True))) | ||
181 | 193 | #poll clicking for focus for lack of better method, due to screen switching animation | 188 | #poll clicking for focus for lack of better method, due to screen switching animation |
182 | 194 | #is there a property we can use instead? | 189 | #is there a property we can use instead? |
183 | 195 | poll = 0 | 190 | poll = 0 |
184 | @@ -203,8 +198,8 @@ | |||
185 | 203 | return inputField | 198 | return inputField |
186 | 204 | 199 | ||
187 | 205 | def _get_canonical_topic(self, timeout = 10): | 200 | def _get_canonical_topic(self, timeout = 10): |
188 | 201 | self.assertThat(self.main_view.get_canonical_topic_TopicComponent, Eventually(Not(Is(None)))) | ||
189 | 206 | canonicalTopic = self.main_view.get_canonical_topic_TopicComponent() | 202 | canonicalTopic = self.main_view.get_canonical_topic_TopicComponent() |
190 | 207 | self.assertThat(lambda: canonicalTopic, Eventually(NotEquals(None))) | ||
191 | 208 | self.pointing_device.click_object(canonicalTopic) | 203 | self.pointing_device.click_object(canonicalTopic) |
192 | 209 | 204 | ||
193 | 210 | poll = 0 | 205 | poll = 0 |
194 | @@ -234,8 +229,8 @@ | |||
195 | 234 | """test view feeds""" | 229 | """test view feeds""" |
196 | 235 | 230 | ||
197 | 236 | #verify we are on the first page | 231 | #verify we are on the first page |
200 | 237 | self.main_view.switch_to_tab_by_index(0) | 232 | shortsPage = lambda: self.main_view.switch_to_tab_by_index(0).visible |
201 | 238 | self.assertThat(lambda: shortsPage.visible, Eventually(Equals(True))) | 233 | self.assertThat(shortsPage, Eventually(Equals(True))) |
202 | 239 | 234 | ||
203 | 240 | #-----> view all news: | 235 | #-----> view all news: |
204 | 241 | #open toolbar | 236 | #open toolbar |
205 | @@ -246,7 +241,7 @@ | |||
206 | 246 | 241 | ||
207 | 247 | #verify we are on the Feeds page | 242 | #verify we are on the Feeds page |
208 | 248 | feedlistpage = self.main_view.get_feedlist_page() | 243 | feedlistpage = self.main_view.get_feedlist_page() |
210 | 249 | self.assertThat(lambda: feedlistpage.visible, Eventually(Equals(True))) | 244 | self.assertThat(feedlistpage.visible, Eventually(Equals(True))) |
211 | 250 | 245 | ||
212 | 251 | #select All articles | 246 | #select All articles |
213 | 252 | allFeeds = self.main_view.get_all_feeds() | 247 | allFeeds = self.main_view.get_all_feeds() |
214 | @@ -255,7 +250,7 @@ | |||
215 | 255 | 250 | ||
216 | 256 | #verify we are on the All articles page | 251 | #verify we are on the All articles page |
217 | 257 | articlelistpage = self.main_view.get_articlelist_page() | 252 | articlelistpage = self.main_view.get_articlelist_page() |
219 | 258 | self.assertThat(lambda: articlelistpage.visible, Eventually(Equals(True))) | 253 | self.assertThat(articlelistpage.visible, Eventually(Equals(True))) |
220 | 259 | 254 | ||
221 | 260 | toolbar = self.main_view.open_toolbar() | 255 | toolbar = self.main_view.open_toolbar() |
222 | 261 | 256 | ||
223 | @@ -263,21 +258,21 @@ | |||
224 | 263 | toolbar.click_button("Back") | 258 | toolbar.click_button("Back") |
225 | 264 | 259 | ||
226 | 265 | #verify we are on the Feeds page | 260 | #verify we are on the Feeds page |
229 | 266 | feedlistpage = self.main_view.get_feedlist_page() | 261 | feedlistpage = lambda: self.main_view.get_feedlist_page().visible |
230 | 267 | self.assertThat(lambda: feedlistpage.visible, Eventually(Equals(True))) | 262 | self.assertThat(feedlistpage, Eventually(Equals(True))) |
231 | 268 | 263 | ||
232 | 269 | #-----> view individual feed: | 264 | #-----> view individual feed: |
233 | 270 | #add topic and feed | 265 | #add topic and feed |
234 | 271 | self._add_feed_and_topic() | 266 | self._add_feed_and_topic() |
235 | 272 | 267 | ||
236 | 273 | #select Canonical feed | 268 | #select Canonical feed |
239 | 274 | canonicalFeed = self.main_view.get_canonical_feed_labelvisual() | 269 | canonicalFeed = lambda: self.main_view.get_canonical_feed_labelvisual() |
240 | 275 | self.assertThat(lambda: canonicalFeed, Eventually(NotEquals(None))) | 270 | self.assertThat(canonicalFeed, Eventually(Not(Is(None)))) |
241 | 276 | self.pointing_device.click_object(canonicalFeed) | 271 | self.pointing_device.click_object(canonicalFeed) |
242 | 277 | 272 | ||
243 | 278 | #verify we are on the Canonical page | 273 | #verify we are on the Canonical page |
246 | 279 | header = self.main_view.get_header()[0] | 274 | header = lambda: self.main_view.get_header()[0].title |
247 | 280 | self.assertThat(lambda: header.title, Eventually(Equals("Canonical"))) | 275 | self.assertThat(header, Eventually(Equals("Canonical"))) |
248 | 281 | 276 | ||
249 | 282 | #toggle toolbar | 277 | #toggle toolbar |
250 | 283 | toolbar = self.main_view.open_toolbar() | 278 | toolbar = self.main_view.open_toolbar() |
251 | @@ -286,8 +281,8 @@ | |||
252 | 286 | toolbar.click_button("Back") | 281 | toolbar.click_button("Back") |
253 | 287 | 282 | ||
254 | 288 | #verify we are on the Feeds page | 283 | #verify we are on the Feeds page |
257 | 289 | feedlistpage = self.main_view.get_feedlist_page() | 284 | feedlistpage = lambda: self.main_view.get_feedlist_page().visible |
258 | 290 | self.assertThat(lambda: feedlistpage.visible, Eventually(Equals(True))) | 285 | self.assertThat(feedlistpage, Eventually(Equals(True))) |
259 | 291 | 286 | ||
260 | 292 | #toggle toolbar | 287 | #toggle toolbar |
261 | 293 | toolbar = self.main_view.open_toolbar() | 288 | toolbar = self.main_view.open_toolbar() |
262 | @@ -296,8 +291,8 @@ | |||
263 | 296 | toolbar.click_button("shorts") | 291 | toolbar.click_button("shorts") |
264 | 297 | 292 | ||
265 | 298 | #verify we are on the Shorts page | 293 | #verify we are on the Shorts page |
268 | 299 | self.main_view.switch_to_tab_by_index(0) | 294 | shortsPage = lambda: self.main_view.switch_to_tab_by_index(0).visible |
269 | 300 | self.assertThat(lambda: shortsPage.visible, Eventually(Equals(True))) | 295 | self.assertThat(shortsPage, Eventually(Equals(True))) |
270 | 301 | 296 | ||
271 | 302 | #remove added Canonical topic | 297 | #remove added Canonical topic |
272 | 303 | self._remove_topic() | 298 | self._remove_topic() |
PASSED: Continuous integration, rev:38 91.189. 93.70:8080/ job/ubuntu- rssreader- app-ci/ 112/ 91.189. 93.70:8080/ job/ubuntu- rssreader- app-precise- amd64-ci/ 107 91.189. 93.70:8080/ job/ubuntu- rssreader- app-quantal- amd64-ci/ 112 91.189. 93.70:8080/ job/ubuntu- rssreader- app-raring- amd64-ci/ 112 91.189. 93.70:8080/ job/ubuntu- rssreader- app-saucy- amd64-ci/ 107
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: 91.189. 93.70:8080/ job/ubuntu- rssreader- app-ci/ 112/rebuild
http://