launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #03848
[Merge] lp:~rvb/launchpad/bug-793434-devel into lp:launchpad
Raphaël Victor Badin has proposed merging lp:~rvb/launchpad/bug-793434-devel into lp:launchpad.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
Related bugs:
Bug #793434 in Launchpad itself: "Passing packagesets=None triggers an error when initializing a series."
https://bugs.launchpad.net/launchpad/+bug/793434
For more details, see:
https://code.launchpad.net/~rvb/launchpad/bug-793434-devel/+merge/63667
InitialiseDistroSeriesJob.create should accept None as a possible parameter for arches, packagesets, overlays, overlay_pockets and overlay_components.
= QA =
On DF:
- Create a new series.
- Initialise it with series/+initseries without selecting any packageset.
- Run the initialisation job
- Make sure the initialisation went through.
= Tests =
./bin/test -cvv test_initialisedistroseriesjob test_job_with_none_arguments
--
https://code.launchpad.net/~rvb/launchpad/bug-793434-devel/+merge/63667
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~rvb/launchpad/bug-793434-devel into lp:launchpad.
=== modified file 'lib/lp/soyuz/model/initialisedistroseriesjob.py'
--- lib/lp/soyuz/model/initialisedistroseriesjob.py 2011-05-31 15:40:10 +0000
+++ lib/lp/soyuz/model/initialisedistroseriesjob.py 2011-06-07 09:56:06 +0000
@@ -11,11 +11,12 @@
classProvides,
implements,
)
+
from canonical.launchpad.interfaces.lpstorm import (
IMasterStore,
IStore,
)
-from lp.registry.model.distroseries import DistroSeries
+from lp.services.job.model.job import Job
from lp.soyuz.interfaces.distributionjob import (
DistributionJobType,
IInitialiseDistroSeriesJob,
@@ -26,8 +27,6 @@
DistributionJobDerived,
)
from lp.soyuz.scripts.initialise_distroseries import InitialiseDistroSeries
-from lp.services.job.model.job import Job
-from lp.services.database import bulk
class InitialiseDistroSeriesJob(DistributionJobDerived):
@@ -74,23 +73,38 @@
@property
def overlays(self):
- return tuple(self.metadata['overlays'])
+ if self.metadata['overlays'] is None:
+ return ()
+ else:
+ return tuple(self.metadata['overlays'])
@property
def overlay_pockets(self):
- return tuple(self.metadata['overlay_pockets'])
+ if self.metadata['overlay_pockets'] is None:
+ return ()
+ else:
+ return tuple(self.metadata['overlay_pockets'])
@property
def overlay_components(self):
- return tuple(self.metadata['overlay_components'])
+ if self.metadata['overlay_components'] is None:
+ return ()
+ else:
+ return tuple(self.metadata['overlay_components'])
@property
def arches(self):
- return tuple(self.metadata['arches'])
+ if self.metadata['arches'] is None:
+ return ()
+ else:
+ return tuple(self.metadata['arches'])
@property
def packagesets(self):
- return tuple(self.metadata['packagesets'])
+ if self.metadata['packagesets'] is None:
+ return ()
+ else:
+ return tuple(self.metadata['packagesets'])
@property
def rebuild(self):
=== modified file 'lib/lp/soyuz/tests/test_initialisedistroseriesjob.py'
--- lib/lp/soyuz/tests/test_initialisedistroseriesjob.py 2011-06-01 12:46:52 +0000
+++ lib/lp/soyuz/tests/test_initialisedistroseriesjob.py 2011-06-07 09:56:06 +0000
@@ -195,6 +195,18 @@
self.assertEqual(child.binarycount, 0)
self.assertEqual(builds.count(), 1)
+ def test_job_with_none_arguments(self):
+ parent, child = self._create_child()
+ job = self.job_source.create(
+ child, [parent.id], packagesets=None, arches=None,
+ overlays=None, overlay_pockets=None,
+ overlay_components=None, rebuild=True)
+ self.layer.switchDbUser('initialisedistroseries')
+ job.run()
+ child.updatePackageCount()
+
+ self.assertEqual(parent.sourcecount, child.sourcecount)
+
def test_cronscript(self):
run_script(
'cronscripts/run_jobs.py', ['-v', 'initialisedistroseries'])