Merge lp:~cjwatson/launchpad/packageset-score into lp:launchpad

Proposed by Colin Watson on 2012-05-17
Status: Merged
Approved by: j.c.sackett on 2012-05-17
Approved revision: no longer in the source branch.
Merged at revision: 15268
Proposed branch: lp:~cjwatson/launchpad/packageset-score
Merge into: lp:launchpad
Diff against target: 89 lines (+12/-10)
4 files modified
lib/lp/soyuz/interfaces/packageset.py (+1/-1)
lib/lp/soyuz/model/buildpackagejob.py (+1/-1)
lib/lp/soyuz/model/packageset.py (+1/-1)
lib/lp/soyuz/tests/test_buildpackagejob.py (+9/-7)
To merge this branch: bzr merge lp:~cjwatson/launchpad/packageset-score
Reviewer Review Type Date Requested Status
j.c.sackett (community) 2012-05-17 Approve on 2012-05-17
Review via email: mp+106220@code.launchpad.net

Commit Message

Rename Packageset.score to Packageset.relative_build_score in code.

Description of the Change

== Summary ==

Following up on the work in https://code.launchpad.net/~cjwatson/launchpad/packageset-score/+merge/105915, Julian reported in bug 1000570 that the name of Packageset.score is underinformative and inconsistent.

== Proposed fix ==

Rename the field in code to relative_build_score to match Archive. Renaming the database column is harder at this point, but not especially urgent.

== LOC Rationale ==

+2, but this is a minor tweak to a branch that landed with -100, so I claim credit.

== Tests ==

bin/test -vvct TestBuildPackageJobScore

== Demo and Q/A ==

I don't think any is needed here.

To post a comment you must log in.
j.c.sackett (jcsackett) wrote :

Colin--

Thanks, I think this addresses the bug well.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/lp/soyuz/interfaces/packageset.py'
2--- lib/lp/soyuz/interfaces/packageset.py 2012-05-16 14:04:41 +0000
3+++ lib/lp/soyuz/interfaces/packageset.py 2012-05-17 16:30:25 +0000
4@@ -352,7 +352,7 @@
5 """A writeable interface for restricted attributes of package sets."""
6 export_as_webservice_entry(publish_web_link=False)
7
8- score = exported(Int(
9+ relative_build_score = exported(Int(
10 title=_("Build score"), required=True, readonly=False,
11 description=_("Build score bonus for packages in this package set.")))
12
13
14=== modified file 'lib/lp/soyuz/model/buildpackagejob.py'
15--- lib/lp/soyuz/model/buildpackagejob.py 2012-05-15 17:09:59 +0000
16+++ lib/lp/soyuz/model/buildpackagejob.py 2012-05-17 16:30:25 +0000
17@@ -111,7 +111,7 @@
18 self.build.source_package_release.name,
19 distroseries=self.build.distro_series)
20 if not package_sets.is_empty():
21- score += package_sets.max(Packageset.score)
22+ score += package_sets.max(Packageset.relative_build_score)
23
24 # Calculates the build queue time component of the score.
25 right_now = datetime.now(pytz.timezone('UTC'))
26
27=== modified file 'lib/lp/soyuz/model/packageset.py'
28--- lib/lp/soyuz/model/packageset.py 2012-05-16 13:55:07 +0000
29+++ lib/lp/soyuz/model/packageset.py 2012-05-17 16:30:25 +0000
30@@ -70,7 +70,7 @@
31 packagesetgroup_id = Int(name='packagesetgroup', allow_none=False)
32 packagesetgroup = Reference(packagesetgroup_id, 'PackagesetGroup.id')
33
34- score = Int(allow_none=False)
35+ relative_build_score = Int(name="score", allow_none=False)
36
37 def add(self, data):
38 """See `IPackageset`."""
39
40=== modified file 'lib/lp/soyuz/tests/test_buildpackagejob.py'
41--- lib/lp/soyuz/tests/test_buildpackagejob.py 2012-05-16 17:26:02 +0000
42+++ lib/lp/soyuz/tests/test_buildpackagejob.py 2012-05-17 16:30:25 +0000
43@@ -377,18 +377,18 @@
44 distroseries=job.build.distro_series)
45 removeSecurityProxy(packageset).add(
46 [job.build.source_package_release.sourcepackagename])
47- removeSecurityProxy(packageset).score = 100
48+ removeSecurityProxy(packageset).relative_build_score = 100
49 self.assertCorrectScore(job, "RELEASE", "main", "low", 100)
50
51 def test_score_packageset_readable(self):
52 # A packageset's build score is readable by anyone.
53 packageset = self.factory.makePackageset()
54- removeSecurityProxy(packageset).score = 100
55+ removeSecurityProxy(packageset).relative_build_score = 100
56 webservice = webservice_for_person(
57 self.factory.makePerson(), permission=OAuthPermission.WRITE_PUBLIC)
58 entry = webservice.get(
59 api_url(packageset), api_version="devel").jsonBody()
60- self.assertEqual(100, entry["score"])
61+ self.assertEqual(100, entry["relative_build_score"])
62
63 def test_score_packageset_forbids_non_buildd_admin(self):
64 # Being the owner of a packageset is not enough to allow changing
65@@ -400,11 +400,12 @@
66 entry = webservice.get(
67 api_url(packageset), api_version="devel").jsonBody()
68 response = webservice.patch(
69- entry["self_link"], "application/json", dumps(dict(score=100)))
70+ entry["self_link"], "application/json",
71+ dumps(dict(relative_build_score=100)))
72 self.assertEqual(401, response.status)
73 new_entry = webservice.get(
74 api_url(packageset), api_version="devel").jsonBody()
75- self.assertEqual(0, new_entry["score"])
76+ self.assertEqual(0, new_entry["relative_build_score"])
77
78 def test_score_packageset_allows_buildd_admin(self):
79 buildd_admins = getUtility(IPersonSet).getByName(
80@@ -416,6 +417,7 @@
81 entry = webservice.get(
82 api_url(packageset), api_version="devel").jsonBody()
83 response = webservice.patch(
84- entry["self_link"], "application/json", dumps(dict(score=100)))
85+ entry["self_link"], "application/json",
86+ dumps(dict(relative_build_score=100)))
87 self.assertEqual(209, response.status)
88- self.assertEqual(100, response.jsonBody()["score"])
89+ self.assertEqual(100, response.jsonBody()["relative_build_score"])