Merge lp:~jtv/maas/for-underscore into lp:~maas-committers/maas/trunk

Proposed by Jeroen T. Vermeulen
Status: Merged
Approved by: Jeroen T. Vermeulen
Approved revision: no longer in the source branch.
Merged at revision: 2983
Proposed branch: lp:~jtv/maas/for-underscore
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 197 lines (+19/-21)
12 files modified
src/maasserver/api/tests/test_nodes.py (+1/-1)
src/maasserver/models/tests/test_components.py (+1/-1)
src/maasserver/models/tests/test_dhcplease.py (+2/-2)
src/maasserver/models/tests/test_managers.py (+3/-3)
src/maasserver/models/tests/test_staticipaddress.py (+1/-1)
src/maasserver/models/tests/test_userprofile.py (+2/-2)
src/maasserver/rpc/tests/test_regionservice.py (+1/-1)
src/maasserver/tests/test_dhcp.py (+2/-2)
src/maasserver/views/tests/test_nodes.py (+2/-3)
src/maasserver/views/tests/test_prefs.py (+1/-1)
src/provisioningserver/drivers/hardware/tests/test_virsh.py (+1/-2)
src/provisioningserver/testing/tests/test_bindfixture.py (+2/-2)
To merge this branch: bzr merge lp:~jtv/maas/for-underscore
Reviewer Review Type Date Requested Status
Julian Edwards (community) Approve
Review via email: mp+234570@code.launchpad.net

Commit message

Standardise on “_” for unused loop variables; it's what we use in most places so we might as well have a bit more consistency.

Description of the change

This is another Doris branch. Python doesn't let you write “for” loops without a variable, so we have a lot of loops with single-letter variable names where the variable isn't used, and about twice as many with just an underscore as the unused variable name.

I'm not looking to enforce a rule or anything, but I think we'll get a more harmonious style without the existing mix of ‘i’ and ‘x’ variables.

Most of this is simple mechanical replacement, but there was one case where I used ‘zip’ instead of array indexing; and one case in a test where I replaced a loop to assert equality on list elements with a single equality assertion on the lists. It's a bit fragile for cases where the return value might become a tuple or some other listlike-but-not-actually-list container. But, the name of the test asserts that it's a list so the test might as well fail if it's not. The ordering of the test assertion may seem odd, but that's because the variable called “expected” actually contains the return value that's being checked. I have no idea whatsoever why this was done; the surrounding tests do the same thing.

Jeroen

To post a comment you must log in.
Revision history for this message
Julian Edwards (julian-edwards) wrote :

 review: approve

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/maasserver/api/tests/test_nodes.py'
2--- src/maasserver/api/tests/test_nodes.py 2014-09-09 07:21:43 +0000
3+++ src/maasserver/api/tests/test_nodes.py 2014-09-13 12:40:38 +0000
4@@ -450,7 +450,7 @@
5 # filter returned results.
6 current_token = get_auth_tokens(self.logged_in_user)[0]
7 nodes = []
8- for i in range(3):
9+ for _ in range(3):
10 nodes.append(factory.make_Node(
11 status=NODE_STATUS.ALLOCATED,
12 owner=self.logged_in_user, token=current_token))
13
14=== modified file 'src/maasserver/models/tests/test_components.py'
15--- src/maasserver/models/tests/test_components.py 2014-08-13 21:49:35 +0000
16+++ src/maasserver/models/tests/test_components.py 2014-09-13 12:40:38 +0000
17@@ -70,7 +70,7 @@
18
19 def get_persistent_errors_returns_text_for_error_codes(self):
20 errors, components = [], []
21- for i in range(3):
22+ for _ in range(3):
23 error_message = factory.make_string()
24 component = get_random_component()
25 register_persistent_error(component, error_message)
26
27=== modified file 'src/maasserver/models/tests/test_dhcplease.py'
28--- src/maasserver/models/tests/test_dhcplease.py 2014-09-05 16:38:32 +0000
29+++ src/maasserver/models/tests/test_dhcplease.py 2014-09-13 12:40:38 +0000
30@@ -174,7 +174,7 @@
31 def test_get_hostname_ip_mapping_returns_mapping(self):
32 nodegroup = factory.make_NodeGroup()
33 expected_mapping = {}
34- for i in range(3):
35+ for _ in range(3):
36 status = random.choice(
37 [NODE_STATUS.DEPLOYED, NODE_STATUS.DEPLOYING])
38 node = factory.make_Node(
39@@ -190,7 +190,7 @@
40 def test_get_hostname_ip_mapping_ignores_non_deployed_nodes(self):
41 nodegroup = factory.make_NodeGroup()
42 # Create non-allocated nodes with leases.
43- for i in range(10):
44+ for _ in range(10):
45 status = factory.pick_choice(
46 NODE_STATUS_CHOICES,
47 but_not=[NODE_STATUS.DEPLOYED, NODE_STATUS.DEPLOYING])
48
49=== modified file 'src/maasserver/models/tests/test_managers.py'
50--- src/maasserver/models/tests/test_managers.py 2013-10-18 16:57:37 +0000
51+++ src/maasserver/models/tests/test_managers.py 2014-09-13 12:40:38 +0000
52@@ -1,4 +1,4 @@
53-# Copyright 2012, 2013 Canonical Ltd. This software is licensed under the
54+# Copyright 2012-2014 Canonical Ltd. This software is licensed under the
55 # GNU Affero General Public License version 3 (see the file LICENSE).
56
57 """Test maasserver model managers."""
58@@ -28,9 +28,9 @@
59
60 def test_manager_iterator_uses_cache(self):
61 parents = set()
62- for i in range(3):
63+ for _ in range(3):
64 parents.add(BulkManagerParentTestModel.objects.create())
65- for i in range(10):
66+ for _ in range(10):
67 for parent in parents:
68 BulkManagerTestModel.objects.create(parent=parent)
69 parents = BulkManagerParentTestModel.objects.all().prefetch_related(
70
71=== modified file 'src/maasserver/models/tests/test_staticipaddress.py'
72--- src/maasserver/models/tests/test_staticipaddress.py 2014-09-05 16:38:32 +0000
73+++ src/maasserver/models/tests/test_staticipaddress.py 2014-09-13 12:40:38 +0000
74@@ -235,7 +235,7 @@
75 def test_get_hostname_ip_mapping_returns_mapping(self):
76 nodegroup = factory.make_NodeGroup()
77 expected_mapping = {}
78- for i in range(3):
79+ for _ in range(3):
80 node = factory.make_node_with_mac_attached_to_nodegroupinterface(
81 nodegroup=nodegroup)
82 staticip = factory.make_StaticIPAddress(mac=node.get_primary_mac())
83
84=== modified file 'src/maasserver/models/tests/test_userprofile.py'
85--- src/maasserver/models/tests/test_userprofile.py 2014-09-05 16:38:32 +0000
86+++ src/maasserver/models/tests/test_userprofile.py 2014-09-13 12:40:38 +0000
87@@ -82,7 +82,7 @@
88 profile = factory.make_User().get_profile()
89 token_ids = []
90 consumer_ids = []
91- for i in range(3):
92+ for _ in range(3):
93 token, consumer = profile.create_authorisation_token()
94 token_ids.append(token.id)
95 consumer_ids.append(consumer.id)
96@@ -102,7 +102,7 @@
97 self.assertEqual(users, all_users)
98
99 def test_manager_all_users_no_system_user(self):
100- for i in range(3):
101+ for _ in range(3):
102 factory.make_User()
103 usernames = set(
104 user.username for user in UserProfile.objects.all_users())
105
106=== modified file 'src/maasserver/rpc/tests/test_regionservice.py'
107--- src/maasserver/rpc/tests/test_regionservice.py 2014-09-11 16:17:15 +0000
108+++ src/maasserver/rpc/tests/test_regionservice.py 2014-09-13 12:40:38 +0000
109@@ -1601,7 +1601,7 @@
110 @transactional
111 def create_cluster_and_interfaces(self):
112 cluster = factory.make_NodeGroup()
113- for i in range(3):
114+ for _ in range(3):
115 factory.make_NodeGroupInterface(cluster)
116 interfaces = [
117 {
118
119=== modified file 'src/maasserver/tests/test_dhcp.py'
120--- src/maasserver/tests/test_dhcp.py 2014-09-05 23:01:31 +0000
121+++ src/maasserver/tests/test_dhcp.py 2014-09-13 12:40:38 +0000
122@@ -569,11 +569,11 @@
123 # nodegroups get their DHCP config re-written.
124 num_active_nodegroups = random.randint(1, 10)
125 num_inactive_nodegroups = random.randint(1, 10)
126- for x in range(num_active_nodegroups):
127+ for _ in range(num_active_nodegroups):
128 factory.make_NodeGroup(
129 status=NODEGROUP_STATUS.ACCEPTED,
130 management=NODEGROUPINTERFACE_MANAGEMENT.DHCP)
131- for x in range(num_inactive_nodegroups):
132+ for _ in range(num_inactive_nodegroups):
133 factory.make_NodeGroup(
134 status=NODEGROUP_STATUS.PENDING,
135 management=NODEGROUPINTERFACE_MANAGEMENT.DHCP)
136
137=== modified file 'src/maasserver/views/tests/test_nodes.py'
138--- src/maasserver/views/tests/test_nodes.py 2014-09-11 18:30:39 +0000
139+++ src/maasserver/views/tests/test_nodes.py 2014-09-13 12:40:38 +0000
140@@ -463,9 +463,8 @@
141 macs = [
142 factory.make_MACAddress(node=node).mac_address for i in range(2)]
143 ips = [factory.getRandomIPAddress() for i in range(2)]
144- for i in range(2):
145- factory.make_DHCPLease(
146- nodegroup=nodegroup, mac=macs[i], ip=ips[i])
147+ for mac, ip in zip(macs, ips):
148+ factory.make_DHCPLease(nodegroup=nodegroup, mac=mac, ip=ip)
149 node_link = reverse('node-view', args=[node.system_id])
150 response = self.client.get(node_link)
151 self.assertThat(response.content, ContainsAll(ips))
152
153=== modified file 'src/maasserver/views/tests/test_prefs.py'
154--- src/maasserver/views/tests/test_prefs.py 2014-09-05 16:38:32 +0000
155+++ src/maasserver/views/tests/test_prefs.py 2014-09-13 12:40:38 +0000
156@@ -54,7 +54,7 @@
157 self.client_log_in()
158 user = self.logged_in_user
159 # Create a few tokens.
160- for i in range(3):
161+ for _ in range(3):
162 user.get_profile().create_authorisation_token()
163 response = self.client.get('/account/prefs/')
164 doc = fromstring(response.content)
165
166=== modified file 'src/provisioningserver/drivers/hardware/tests/test_virsh.py'
167--- src/provisioningserver/drivers/hardware/tests/test_virsh.py 2014-09-11 21:08:12 +0000
168+++ src/provisioningserver/drivers/hardware/tests/test_virsh.py 2014-09-13 12:40:38 +0000
169@@ -173,8 +173,7 @@
170 output = SAMPLE_IFLIST % (macs[0], macs[1])
171 conn = self.configure_virshssh(output)
172 expected = conn.get_mac_addresses('')
173- for i in range(2):
174- self.assertEqual(macs[i], expected[i])
175+ self.assertEqual(macs, expected)
176
177 def test_get_arch_returns_valid(self):
178 arch = factory.make_name('arch')
179
180=== modified file 'src/provisioningserver/testing/tests/test_bindfixture.py'
181--- src/provisioningserver/testing/tests/test_bindfixture.py 2014-01-05 21:27:58 +0000
182+++ src/provisioningserver/testing/tests/test_bindfixture.py 2014-09-13 12:40:38 +0000
183@@ -1,4 +1,4 @@
184-# Copyright 2012, 2013 Canonical Ltd. This software is licensed under the
185+# Copyright 2012-2014 Canonical Ltd. This software is licensed under the
186 # GNU Affero General Public License version 3 (see the file LICENSE).
187
188 """Tests for the BIND fixture."""
189@@ -133,7 +133,7 @@
190 def test_defaults_reallocated_after_teardown(self):
191 seen_homedirs = set()
192 resources = BINDServerResources()
193- for i in range(2):
194+ for _ in range(2):
195 with resources:
196 self.assertTrue(os.path.exists(resources.homedir))
197 self.assertNotIn(resources.homedir, seen_homedirs)