Merge lp:~rvb/maas/remove-matchers into lp:~maas-committers/maas/trunk

Proposed by Raphaël Badin
Status: Merged
Approved by: Raphaël Badin
Approved revision: no longer in the source branch.
Merged at revision: 1829
Proposed branch: lp:~rvb/maas/remove-matchers
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 477 lines (+44/-59)
24 files modified
src/maasserver/tests/test_api_pxeconfig.py (+1/-1)
src/maasserver/tests/test_api_user.py (+1/-1)
src/maasserver/tests/test_node_constraint_filter_forms.py (+1/-1)
src/maasserver/tests/test_nonces_cleanup.py (+4/-2)
src/maasserver/tests/test_power_parameters.py (+1/-1)
src/maasserver/tests/test_preseed.py (+1/-1)
src/maasserver/tests/test_views.py (+1/-1)
src/maasserver/tests/test_views_nodes.py (+2/-2)
src/maasserver/tests/test_views_settings_clusters.py (+1/-1)
src/maasserver/tests/test_views_settings_commissioning_scripts.py (+4/-2)
src/maasserver/tests/test_views_tags.py (+1/-1)
src/maasserver/tests/test_views_zones.py (+1/-3)
src/maastesting/matchers.py (+0/-9)
src/maastesting/tests/test_matchers.py (+1/-19)
src/metadataserver/commissioning/tests/test_user_data.py (+1/-1)
src/metadataserver/models/tests/test_commissioningscript.py (+1/-1)
src/metadataserver/tests/test_api.py (+1/-1)
src/provisioningserver/dhcp/tests/test_writer.py (+4/-2)
src/provisioningserver/dns/tests/test_config.py (+2/-4)
src/provisioningserver/import_images/tests/test_tgt.py (+1/-1)
src/provisioningserver/pxe/tests/test_config.py (+1/-1)
src/provisioningserver/tests/test_kernel_opts.py (+1/-1)
src/provisioningserver/tests/test_tasks.py (+1/-1)
versions.cfg (+11/-1)
To merge this branch: bzr merge lp:~rvb/maas/remove-matchers
Reviewer Review Type Date Requested Status
Gavin Panella (community) Approve
Review via email: mp+202258@code.launchpad.net

Commit message

Upgrade testtools. Remove MAAS' version of the matcher 'ContainsAll' which is now included in testtools.

To post a comment you must log in.
Revision history for this message
Gavin Panella (allenap) wrote :

Neato :)

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :
Download full text (8.7 KiB)

The attempt to merge lp:~rvb/maas/remove-matchers into lp:maas failed. Below is the output from the failed tests.

Ign http://nova.clouds.archive.ubuntu.com saucy InRelease
Ign http://security.ubuntu.com saucy-security InRelease
Hit http://security.ubuntu.com saucy-security Release.gpg
Ign http://nova.clouds.archive.ubuntu.com saucy-updates InRelease
Hit http://security.ubuntu.com saucy-security Release
Hit http://nova.clouds.archive.ubuntu.com saucy Release.gpg
Hit http://nova.clouds.archive.ubuntu.com saucy-updates Release.gpg
Hit http://nova.clouds.archive.ubuntu.com saucy Release
Hit http://nova.clouds.archive.ubuntu.com saucy-updates Release
Hit http://security.ubuntu.com saucy-security/main Sources
Hit http://security.ubuntu.com saucy-security/universe Sources
Hit http://security.ubuntu.com saucy-security/main amd64 Packages
Hit http://security.ubuntu.com saucy-security/universe amd64 Packages
Hit http://security.ubuntu.com saucy-security/main Translation-en
Hit http://security.ubuntu.com saucy-security/universe Translation-en
Hit http://nova.clouds.archive.ubuntu.com saucy/main Sources
Hit http://nova.clouds.archive.ubuntu.com saucy/universe Sources
Hit http://nova.clouds.archive.ubuntu.com saucy/main amd64 Packages
Hit http://nova.clouds.archive.ubuntu.com saucy/universe amd64 Packages
Hit http://nova.clouds.archive.ubuntu.com saucy/main Translation-en
Ign http://security.ubuntu.com saucy-security/main Translation-en_US
Hit http://nova.clouds.archive.ubuntu.com saucy/universe Translation-en
Ign http://security.ubuntu.com saucy-security/universe Translation-en_US
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/main Sources
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/universe Sources
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/main amd64 Packages
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/universe amd64 Packages
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/main Translation-en
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/universe Translation-en
Ign http://nova.clouds.archive.ubuntu.com saucy/main Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy/universe Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy-updates/main Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy-updates/universe Translation-en_US
Reading package lists...
sudo DEBIAN_FRONTEND=noninteractive apt-get -y \
     --no-install-recommends install apache2 avahi-daemon avahi-utils bind9 bind9utils build-essential curl daemontools distro-info dnsutils firefox freeipmi-tools ipython isc-dhcp-common libjs-raphael libjs-yui3-full libjs-yui3-min libpq-dev make postgresql python-amqplib python-avahi python-bzrlib python-celery python-convoy python-cssselect python-curtin python-dbus python-dev python-distro-info python-django python-django-piston python-django-south python-djorm-ext-pgarray python-docutils python-formencode python-httplib2 python-jinja2 python-lockfile python-lxml python-netaddr python-netifaces python-oauth python-oops python-oops-amqp python-oops-datedir-repo python-oops-twisted python-oops-wsgi python-pip python-pocket-lint python-psycopg2 python-pyin...

Read more...

Revision history for this message
MAAS Lander (maas-lander) wrote :
Download full text (8.4 KiB)

The attempt to merge lp:~rvb/maas/remove-matchers into lp:maas failed. Below is the output from the failed tests.

Ign http://security.ubuntu.com saucy-security InRelease
Hit http://security.ubuntu.com saucy-security Release.gpg
Ign http://nova.clouds.archive.ubuntu.com saucy InRelease
Hit http://security.ubuntu.com saucy-security Release
Ign http://nova.clouds.archive.ubuntu.com saucy-updates InRelease
Hit http://nova.clouds.archive.ubuntu.com saucy Release.gpg
Get:1 http://nova.clouds.archive.ubuntu.com saucy-updates Release.gpg [933 B]
Hit http://nova.clouds.archive.ubuntu.com saucy Release
Get:2 http://nova.clouds.archive.ubuntu.com saucy-updates Release [49.6 kB]
Hit http://security.ubuntu.com saucy-security/main Sources
Hit http://security.ubuntu.com saucy-security/universe Sources
Hit http://security.ubuntu.com saucy-security/main amd64 Packages
Hit http://security.ubuntu.com saucy-security/universe amd64 Packages
Hit http://security.ubuntu.com saucy-security/main Translation-en
Hit http://security.ubuntu.com saucy-security/universe Translation-en
Hit http://nova.clouds.archive.ubuntu.com saucy/main Sources
Hit http://nova.clouds.archive.ubuntu.com saucy/universe Sources
Hit http://nova.clouds.archive.ubuntu.com saucy/main amd64 Packages
Hit http://nova.clouds.archive.ubuntu.com saucy/universe amd64 Packages
Hit http://nova.clouds.archive.ubuntu.com saucy/main Translation-en
Hit http://nova.clouds.archive.ubuntu.com saucy/universe Translation-en
Ign http://security.ubuntu.com saucy-security/main Translation-en_US
Ign http://security.ubuntu.com saucy-security/universe Translation-en_US
Get:3 http://nova.clouds.archive.ubuntu.com saucy-updates/main Sources [63.7 kB]
Get:4 http://nova.clouds.archive.ubuntu.com saucy-updates/universe Sources [43.4 kB]
Get:5 http://nova.clouds.archive.ubuntu.com saucy-updates/main amd64 Packages [186 kB]
Get:6 http://nova.clouds.archive.ubuntu.com saucy-updates/universe amd64 Packages [128 kB]
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/main Translation-en
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/universe Translation-en
Ign http://nova.clouds.archive.ubuntu.com saucy/main Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy/universe Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy-updates/main Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy-updates/universe Translation-en_US
Fetched 471 kB in 0s (1,689 kB/s)
Reading package lists...
sudo DEBIAN_FRONTEND=noninteractive apt-get -y \
     --no-install-recommends install apache2 bind9 bind9utils build-essential curl daemontools distro-info dnsutils firefox freeipmi-tools ipython isc-dhcp-common libjs-raphael libjs-yui3-full libjs-yui3-min libpq-dev make postgresql python-amqplib python-bzrlib python-celery python-convoy python-cssselect python-curtin python-dev python-distro-info python-django python-django-piston python-django-south python-djorm-ext-pgarray python-docutils python-formencode python-httplib2 python-jinja2 python-lockfile python-lxml python-netaddr python-netifaces python-oauth python-oops python-oops-amqp python-oops-datedir-repo python-oops-twisted python-oops-wsgi pytho...

Read more...

Revision history for this message
MAAS Lander (maas-lander) wrote :
Download full text (15.0 KiB)

The attempt to merge lp:~rvb/maas/remove-matchers into lp:maas failed. Below is the output from the failed tests.

Ign http://security.ubuntu.com saucy-security InRelease
Ign http://nova.clouds.archive.ubuntu.com saucy InRelease
Hit http://security.ubuntu.com saucy-security Release.gpg
Ign http://nova.clouds.archive.ubuntu.com saucy-updates InRelease
Hit http://security.ubuntu.com saucy-security Release
Hit http://nova.clouds.archive.ubuntu.com saucy Release.gpg
Get:1 http://nova.clouds.archive.ubuntu.com saucy-updates Release.gpg [933 B]
Hit http://nova.clouds.archive.ubuntu.com saucy Release
Get:2 http://nova.clouds.archive.ubuntu.com saucy-updates Release [49.6 kB]
Hit http://security.ubuntu.com saucy-security/main Sources
Hit http://security.ubuntu.com saucy-security/universe Sources
Hit http://security.ubuntu.com saucy-security/main amd64 Packages
Hit http://security.ubuntu.com saucy-security/universe amd64 Packages
Hit http://security.ubuntu.com saucy-security/main Translation-en
Hit http://security.ubuntu.com saucy-security/universe Translation-en
Hit http://nova.clouds.archive.ubuntu.com saucy/main Sources
Hit http://nova.clouds.archive.ubuntu.com saucy/universe Sources
Hit http://nova.clouds.archive.ubuntu.com saucy/main amd64 Packages
Hit http://nova.clouds.archive.ubuntu.com saucy/universe amd64 Packages
Hit http://nova.clouds.archive.ubuntu.com saucy/main Translation-en
Hit http://nova.clouds.archive.ubuntu.com saucy/universe Translation-en
Ign http://security.ubuntu.com saucy-security/main Translation-en_US
Ign http://security.ubuntu.com saucy-security/universe Translation-en_US
Get:3 http://nova.clouds.archive.ubuntu.com saucy-updates/main Sources [63.7 kB]
Get:4 http://nova.clouds.archive.ubuntu.com saucy-updates/universe Sources [43.4 kB]
Get:5 http://nova.clouds.archive.ubuntu.com saucy-updates/main amd64 Packages [186 kB]
Get:6 http://nova.clouds.archive.ubuntu.com saucy-updates/universe amd64 Packages [128 kB]
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/main Translation-en
Hit http://nova.clouds.archive.ubuntu.com saucy-updates/universe Translation-en
Ign http://nova.clouds.archive.ubuntu.com saucy/main Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy/universe Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy-updates/main Translation-en_US
Ign http://nova.clouds.archive.ubuntu.com saucy-updates/universe Translation-en_US
Fetched 471 kB in 0s (1,695 kB/s)
Reading package lists...
sudo DEBIAN_FRONTEND=noninteractive apt-get -y \
     --no-install-recommends install apache2 bind9 bind9utils build-essential curl daemontools distro-info dnsutils firefox freeipmi-tools ipython isc-dhcp-common libjs-raphael libjs-yui3-full libjs-yui3-min libpq-dev make postgresql python-amqplib python-bzrlib python-celery python-convoy python-cssselect python-curtin python-dev python-distro-info python-django python-django-piston python-django-south python-djorm-ext-pgarray python-docutils python-formencode python-httplib2 python-jinja2 python-lockfile python-lxml python-netaddr python-netifaces python-oauth python-oops python-oops-amqp python-oops-datedir-repo python-oops-twisted python-oops-wsgi pytho...

Revision history for this message
MAAS Lander (maas-lander) wrote :

There are additional revisions which have not been approved in review. Please seek review and approval of these new revisions.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/maasserver/tests/test_api_pxeconfig.py'
2--- src/maasserver/tests/test_api_pxeconfig.py 2013-11-15 15:26:25 +0000
3+++ src/maasserver/tests/test_api_pxeconfig.py 2014-01-20 12:16:01 +0000
4@@ -39,13 +39,13 @@
5 from maasserver.testing.api import AnonAPITestCase
6 from maasserver.testing.factory import factory
7 from maastesting.fakemethod import FakeMethod
8-from maastesting.matchers import ContainsAll
9 from mock import Mock
10 from netaddr import IPNetwork
11 from provisioningserver import kernel_opts
12 from provisioningserver.kernel_opts import KernelParameters
13 from testtools.matchers import (
14 Contains,
15+ ContainsAll,
16 Equals,
17 MatchesListwise,
18 StartsWith,
19
20=== modified file 'src/maasserver/tests/test_api_user.py'
21--- src/maasserver/tests/test_api_user.py 2013-12-03 17:46:05 +0000
22+++ src/maasserver/tests/test_api_user.py 2014-01-20 12:16:01 +0000
23@@ -21,7 +21,7 @@
24 from django.core.urlresolvers import reverse
25 from maasserver.testing.api import APITestCase
26 from maasserver.testing.factory import factory
27-from maastesting.matchers import ContainsAll
28+from testtools.matchers import ContainsAll
29
30
31 class TestUsers(APITestCase):
32
33=== modified file 'src/maasserver/tests/test_node_constraint_filter_forms.py'
34--- src/maasserver/tests/test_node_constraint_filter_forms.py 2014-01-07 12:12:48 +0000
35+++ src/maasserver/tests/test_node_constraint_filter_forms.py 2014-01-20 12:16:01 +0000
36@@ -30,7 +30,7 @@
37 from maasserver.testing.factory import factory
38 from maasserver.testing.testcase import MAASServerTestCase
39 from maasserver.utils import ignore_unused
40-from maastesting.matchers import ContainsAll
41+from testtools.matchers import ContainsAll
42
43
44 class TestUtils(MAASServerTestCase):
45
46=== modified file 'src/maasserver/tests/test_nonces_cleanup.py'
47--- src/maasserver/tests/test_nonces_cleanup.py 2013-10-10 07:30:25 +0000
48+++ src/maasserver/tests/test_nonces_cleanup.py 2014-01-20 12:16:01 +0000
49@@ -28,9 +28,11 @@
50 timestamp_threshold,
51 )
52 from maasserver.testing.testcase import MAASServerTestCase
53-from maastesting.matchers import ContainsAll
54 from piston.models import Nonce
55-from testtools.matchers import StartsWith
56+from testtools.matchers import (
57+ ContainsAll,
58+ StartsWith,
59+ )
60
61
62 class TestCleanupOldNonces(MAASServerTestCase):
63
64=== modified file 'src/maasserver/tests/test_power_parameters.py'
65--- src/maasserver/tests/test_power_parameters.py 2014-01-16 02:59:03 +0000
66+++ src/maasserver/tests/test_power_parameters.py 2014-01-20 12:16:01 +0000
67@@ -18,7 +18,6 @@
68 from maasserver.power_parameters import POWER_TYPE_PARAMETERS
69 from maasserver.testing.factory import factory
70 from maasserver.testing.testcase import MAASServerTestCase
71-from maastesting.matchers import ContainsAll
72 from provisioningserver.enum import (
73 DEFAULT_POWER_TYPE,
74 get_power_types,
75@@ -26,6 +25,7 @@
76 from provisioningserver.power.poweraction import PowerAction
77 from testtools.matchers import (
78 AllMatch,
79+ ContainsAll,
80 Equals,
81 IsInstance,
82 MatchesStructure,
83
84=== modified file 'src/maasserver/tests/test_preseed.py'
85--- src/maasserver/tests/test_preseed.py 2013-10-18 16:35:07 +0000
86+++ src/maasserver/tests/test_preseed.py 2014-01-20 12:16:01 +0000
87@@ -55,10 +55,10 @@
88 from maasserver.testing.factory import factory
89 from maasserver.testing.testcase import MAASServerTestCase
90 from maasserver.utils import map_enum
91-from maastesting.matchers import ContainsAll
92 from testtools.matchers import (
93 AllMatch,
94 Contains,
95+ ContainsAll,
96 IsInstance,
97 MatchesAll,
98 Not,
99
100=== modified file 'src/maasserver/tests/test_views.py'
101--- src/maasserver/tests/test_views.py 2013-12-20 14:14:18 +0000
102+++ src/maasserver/tests/test_views.py 2014-01-20 12:16:01 +0000
103@@ -38,7 +38,7 @@
104 PaginatedListView,
105 )
106 from maasserver.views.nodes import NodeEdit
107-from maastesting.matchers import ContainsAll
108+from testtools.matchers import ContainsAll
109
110
111 class Test404500(LoggedInTestCase):
112
113=== modified file 'src/maasserver/tests/test_views_nodes.py'
114--- src/maasserver/tests/test_views_nodes.py 2014-01-16 13:54:59 +0000
115+++ src/maasserver/tests/test_views_nodes.py 2014-01-20 12:16:01 +0000
116@@ -23,8 +23,8 @@
117 urlparse,
118 )
119
120+from django.conf import settings
121 from django.core.urlresolvers import reverse
122-from django.conf import settings
123 from lxml.etree import XPath
124 from lxml.html import fromstring
125 import maasserver.api
126@@ -66,8 +66,8 @@
127 from maasserver.utils import map_enum
128 from maasserver.views import nodes as nodes_views
129 from maasserver.views.nodes import message_from_form_stats
130-from maastesting.matchers import ContainsAll
131 from metadataserver.models.commissioningscript import LLDP_OUTPUT_NAME
132+from testtools.matchers import ContainsAll
133
134
135 class NodeViewsTest(LoggedInTestCase):
136
137=== modified file 'src/maasserver/tests/test_views_settings_clusters.py'
138--- src/maasserver/tests/test_views_settings_clusters.py 2013-10-18 16:35:07 +0000
139+++ src/maasserver/tests/test_views_settings_clusters.py 2014-01-20 12:16:01 +0000
140@@ -32,10 +32,10 @@
141 )
142 from maasserver.testing.factory import factory
143 from maasserver.testing.testcase import AdminLoggedInTestCase
144-from maastesting.matchers import ContainsAll
145 from testtools.matchers import (
146 AllMatch,
147 Contains,
148+ ContainsAll,
149 Equals,
150 MatchesStructure,
151 )
152
153=== modified file 'src/maasserver/tests/test_views_settings_commissioning_scripts.py'
154--- src/maasserver/tests/test_views_settings_commissioning_scripts.py 2013-10-07 09:12:40 +0000
155+++ src/maasserver/tests/test_views_settings_commissioning_scripts.py 2014-01-20 12:16:01 +0000
156@@ -27,9 +27,11 @@
157 from maasserver.views.settings_commissioning_scripts import (
158 COMMISSIONING_SCRIPTS_ANCHOR,
159 )
160-from maastesting.matchers import ContainsAll
161 from metadataserver.models import CommissioningScript
162-from testtools.matchers import MatchesStructure
163+from testtools.matchers import (
164+ ContainsAll,
165+ MatchesStructure,
166+ )
167
168
169 class CommissioningScriptListingTest(AdminLoggedInTestCase):
170
171=== modified file 'src/maasserver/tests/test_views_tags.py'
172--- src/maasserver/tests/test_views_tags.py 2013-12-18 10:29:54 +0000
173+++ src/maasserver/tests/test_views_tags.py 2014-01-20 12:16:01 +0000
174@@ -21,7 +21,7 @@
175 from maasserver.testing.factory import factory
176 from maasserver.testing.testcase import LoggedInTestCase
177 from maasserver.views import tags as tags_views
178-from maastesting.matchers import ContainsAll
179+from testtools.matchers import ContainsAll
180
181
182 class TagViewsTest(LoggedInTestCase):
183
184=== modified file 'src/maasserver/tests/test_views_zones.py'
185--- src/maasserver/tests/test_views_zones.py 2014-01-17 10:05:38 +0000
186+++ src/maasserver/tests/test_views_zones.py 2014-01-20 12:16:01 +0000
187@@ -34,11 +34,9 @@
188 LoggedInTestCase,
189 )
190 from maasserver.views.zones import ZoneAdd
191-from maastesting.matchers import (
192+from testtools.matchers import (
193 Contains,
194 ContainsAll,
195- )
196-from testtools.matchers import (
197 Equals,
198 MatchesAll,
199 Not,
200
201=== modified file 'src/maastesting/matchers.py'
202--- src/maastesting/matchers.py 2013-10-07 09:12:40 +0000
203+++ src/maastesting/matchers.py 2014-01-20 12:16:01 +0000
204@@ -13,7 +13,6 @@
205
206 __metaclass__ = type
207 __all__ = [
208- 'ContainsAll',
209 'IsCallable',
210 ]
211
212@@ -25,14 +24,6 @@
213 )
214
215
216-def ContainsAll(items):
217- """Matches if the matchee contains all the provided items."""
218-# XXX: rvb 2012-04-30 bug=991743: This matcher has been submitted
219-# upstream. If it gets included in the next version of testtools, this code
220-# should be removed.
221- return MatchesAll(*[Contains(item) for item in items], first_only=False)
222-
223-
224 class IsCallable(Matcher):
225 """Matches if the matchee is callable."""
226
227
228=== modified file 'src/maastesting/tests/test_matchers.py'
229--- src/maastesting/tests/test_matchers.py 2013-10-07 09:12:40 +0000
230+++ src/maastesting/tests/test_matchers.py 2014-01-20 12:16:01 +0000
231@@ -16,10 +16,7 @@
232
233 from maastesting import matchers
234 from maastesting.factory import factory
235-from maastesting.matchers import (
236- ContainsAll,
237- IsCallable,
238- )
239+from maastesting.matchers import IsCallable
240 from maastesting.testcase import MAASTestCase
241 from mock import sentinel
242 from testtools.matchers import (
243@@ -28,21 +25,6 @@
244 )
245
246
247-class TestContainsAll(MAASTestCase):
248-
249- def test_ContainsAll_passes_if_all_elements_are_present(self):
250- items = [factory.getRandomString() for i in range(3)]
251- self.assertThat(items, ContainsAll([items[0], items[2]]))
252-
253- def test_ContainsAll_raises_if_one_element_is_missing(self):
254- items = [factory.getRandomString() for i in range(3)]
255- self.assertRaises(
256- MismatchError,
257- self.assertThat,
258- items,
259- ContainsAll([items[0], factory.getRandomString()]))
260-
261-
262 class TestIsCallable(MAASTestCase):
263
264 def test_returns_none_when_matchee_is_callable(self):
265
266=== modified file 'src/metadataserver/commissioning/tests/test_user_data.py'
267--- src/metadataserver/commissioning/tests/test_user_data.py 2013-10-07 09:12:40 +0000
268+++ src/metadataserver/commissioning/tests/test_user_data.py 2014-01-20 12:16:01 +0000
269@@ -16,13 +16,13 @@
270
271 from maasserver.testing.factory import factory
272 from maasserver.testing.testcase import MAASServerTestCase
273-from maastesting.matchers import ContainsAll
274 from metadataserver.commissioning import user_data
275 from metadataserver.commissioning.user_data import generate_user_data
276 from mock import (
277 Mock,
278 sentinel,
279 )
280+from testtools.matchers import ContainsAll
281
282
283 class TestUserData(MAASServerTestCase):
284
285=== modified file 'src/metadataserver/models/tests/test_commissioningscript.py'
286--- src/metadataserver/models/tests/test_commissioningscript.py 2013-12-02 13:57:39 +0000
287+++ src/metadataserver/models/tests/test_commissioningscript.py 2014-01-20 12:16:01 +0000
288@@ -39,7 +39,6 @@
289 from maasserver.testing import reload_object
290 from maasserver.testing.factory import factory
291 from maasserver.testing.testcase import MAASServerTestCase
292-from maastesting.matchers import ContainsAll
293 from maastesting.utils import sample_binary_data
294 from metadataserver.fields import Bin
295 from metadataserver.models import (
296@@ -68,6 +67,7 @@
297 )
298 from testtools.content import text_content
299 from testtools.matchers import (
300+ ContainsAll,
301 DocTestMatches,
302 MatchesStructure,
303 )
304
305=== modified file 'src/metadataserver/tests/test_api.py'
306--- src/metadataserver/tests/test_api.py 2014-01-14 00:52:39 +0000
307+++ src/metadataserver/tests/test_api.py 2014-01-20 12:16:01 +0000
308@@ -42,7 +42,6 @@
309 from maasserver.testing.factory import factory
310 from maasserver.testing.oauthclient import OAuthAuthenticatedClient
311 from maastesting.djangotestcase import DjangoTestCase
312-from maastesting.matchers import ContainsAll
313 from maastesting.utils import sample_binary_data
314 from metadataserver import api
315 from metadataserver.api import (
316@@ -69,6 +68,7 @@
317 from netaddr import IPNetwork
318 from testtools.matchers import (
319 Contains,
320+ ContainsAll,
321 MatchesAll,
322 Not,
323 )
324
325=== modified file 'src/provisioningserver/dhcp/tests/test_writer.py'
326--- src/provisioningserver/dhcp/tests/test_writer.py 2013-11-11 06:24:19 +0000
327+++ src/provisioningserver/dhcp/tests/test_writer.py 2014-01-20 12:16:01 +0000
328@@ -24,10 +24,12 @@
329 import sys
330
331 from maastesting import root
332-from maastesting.matchers import ContainsAll
333 from maastesting.testcase import MAASTestCase
334 from provisioningserver.dhcp import writer
335-from testtools.matchers import MatchesStructure
336+from testtools.matchers import (
337+ ContainsAll,
338+ MatchesStructure,
339+ )
340
341
342 class TestScript(MAASTestCase):
343
344=== modified file 'src/provisioningserver/dns/tests/test_config.py'
345--- src/provisioningserver/dns/tests/test_config.py 2014-01-13 15:37:45 +0000
346+++ src/provisioningserver/dns/tests/test_config.py 2014-01-20 12:16:01 +0000
347@@ -26,10 +26,6 @@
348 from celery.app import app_or_default
349 from maastesting.factory import factory
350 from maastesting.fakemethod import FakeMethod
351-from maastesting.matchers import (
352- ContainsAll,
353- MatchesAll,
354- )
355 from maastesting.testcase import MAASTestCase
356 from mock import Mock
357 from netaddr import (
358@@ -62,10 +58,12 @@
359 import tempita
360 from testtools.matchers import (
361 Contains,
362+ ContainsAll,
363 EndsWith,
364 FileContains,
365 FileExists,
366 IsInstance,
367+ MatchesAll,
368 MatchesStructure,
369 Not,
370 StartsWith,
371
372=== modified file 'src/provisioningserver/import_images/tests/test_tgt.py'
373--- src/provisioningserver/import_images/tests/test_tgt.py 2013-10-14 07:11:01 +0000
374+++ src/provisioningserver/import_images/tests/test_tgt.py 2014-01-20 12:16:01 +0000
375@@ -20,7 +20,6 @@
376 from textwrap import dedent
377
378 from maastesting.factory import factory
379-from maastesting.matchers import ContainsAll
380 from maastesting.testcase import MAASTestCase
381 from provisioningserver.import_images import tgt as tgt_module
382 from provisioningserver.import_images.tgt import (
383@@ -40,6 +39,7 @@
384 from provisioningserver.utils import read_text_file
385 from testtools.matchers import (
386 Contains,
387+ ContainsAll,
388 DirExists,
389 FileContains,
390 FileExists,
391
392=== modified file 'src/provisioningserver/pxe/tests/test_config.py'
393--- src/provisioningserver/pxe/tests/test_config.py 2013-10-24 02:59:20 +0000
394+++ src/provisioningserver/pxe/tests/test_config.py 2014-01-20 12:16:01 +0000
395@@ -21,7 +21,6 @@
396
397 from fixtures import EnvironmentVariableFixture
398 from maastesting.factory import factory
399-from maastesting.matchers import ContainsAll
400 from maastesting.testcase import MAASTestCase
401 import mock
402 from provisioningserver import kernel_opts
403@@ -33,6 +32,7 @@
404 import tempita
405 from testtools.matchers import (
406 Contains,
407+ ContainsAll,
408 IsInstance,
409 MatchesAll,
410 MatchesRegex,
411
412=== modified file 'src/provisioningserver/tests/test_kernel_opts.py'
413--- src/provisioningserver/tests/test_kernel_opts.py 2013-10-09 04:33:07 +0000
414+++ src/provisioningserver/tests/test_kernel_opts.py 2014-01-20 12:16:01 +0000
415@@ -19,7 +19,6 @@
416 import os
417
418 from maastesting.factory import factory
419-from maastesting.matchers import ContainsAll
420 from maastesting.testcase import MAASTestCase
421 from provisioningserver import kernel_opts
422 from provisioningserver.kernel_opts import (
423@@ -34,6 +33,7 @@
424 from provisioningserver.testing.config import ConfigFixture
425 from testtools.matchers import (
426 Contains,
427+ ContainsAll,
428 Not,
429 )
430
431
432=== modified file 'src/provisioningserver/tests/test_tasks.py'
433--- src/provisioningserver/tests/test_tasks.py 2014-01-14 01:07:33 +0000
434+++ src/provisioningserver/tests/test_tasks.py 2014-01-20 12:16:01 +0000
435@@ -34,7 +34,6 @@
436 FakeMethod,
437 MultiFakeMethod,
438 )
439-from maastesting.matchers import ContainsAll
440 from mock import (
441 ANY,
442 Mock,
443@@ -89,6 +88,7 @@
444 from provisioningserver.testing.testcase import PservTestCase
445 from testresources import FixtureResource
446 from testtools.matchers import (
447+ ContainsAll,
448 Equals,
449 FileExists,
450 MatchesListwise,
451
452=== modified file 'versions.cfg'
453--- versions.cfg 2014-01-17 18:12:31 +0000
454+++ versions.cfg 2014-01-20 12:16:01 +0000
455@@ -40,7 +40,7 @@
456 sst = 0.2.2
457 testresources = 0.2.5
458 testscenarios = 0.4
459-testtools = 0.9.14
460+testtools = 0.9.34
461 z3c.recipe.scripts = 1.0.1
462
463 # Required by:
464@@ -124,3 +124,13 @@
465 unittest2 = 0.5.1
466
467 djorm-ext-pgarray = 0.8
468+
469+# Added by Buildout Versions at 2014-01-20 12:04:40.492787
470+
471+# Required by:
472+# testtools==0.9.34
473+extras = 0.0.3
474+
475+# Required by:
476+# testtools==0.9.34
477+python-mimeparse = 0.1.4