40
40
return self._builds.pop()
43
class distro_arch_series:
45
self._arches = ['i386', 'amd64', 'powerpc']
48
def architecture_tag(self):
49
return self._arches.pop()
54
self.distro_arch_series = distro_arch_series()
43
57
class WatchPPATestCase(CITrainScriptTestCase):
44
58
scriptname = 'watch_ppa.py'
56
70
def test_watch_arch(self):
57
71
"""Ignore the correct arches."""
58
self.assertTrue(self.script.watch_arch(BuildFake('foo')))
59
self.assertTrue(self.script.watch_arch(BuildFake('i386')))
60
self.assertTrue(self.script.watch_arch(BuildFake('amd64')))
61
self.assertFalse(self.script.watch_arch(BuildFake('powerpc')))
62
self.assertFalse(self.script.watch_arch(BuildFake('arm64')))
63
self.assertFalse(self.script.watch_arch(BuildFake('ppc64el')))
72
arches = ['foo', 'i386', 'amd64']
73
self.assertTrue(self.script.watch_arch(arches)(BuildFake('foo')))
74
self.assertTrue(self.script.watch_arch(arches)(BuildFake('i386')))
75
self.assertTrue(self.script.watch_arch(arches)(BuildFake('amd64')))
76
self.assertFalse(self.script.watch_arch(arches)(BuildFake('powerpc')))
77
self.assertFalse(self.script.watch_arch(arches)(BuildFake('arm64')))
78
self.assertFalse(self.script.watch_arch(arches)(BuildFake('ppc64el')))
80
def test_find_supported_arches(self):
81
"""Ensure we care which are the right arches to watch."""
83
source.getPublishedBinaries.return_value = [BinaryFake()] * 3
85
dest.getPublishedSources.return_value = [source]
86
self.script.packagemanager.sort_by_date_created.return_value = [source]
88
list(self.script.find_supported_arches(dest, 'foo')),
89
['powerpc', 'amd64', 'i386'])
90
self.script.launchpadmanager.get_resource_from_token\
91
.assert_called_once_with(self.script.silo_state.series)
92
token = self.script.launchpadmanager.get_resource_from_token
93
dest.getPublishedSources.assert_called_once_with(
96
distro_series=token(),
99
self.script.packagemanager.sort_by_date_created\
100
.assert_called_once_with(dest.getPublishedSources())
65
102
def test_find_all_uploaded(self):
66
103
"""Find everything that has been uploaded from this silo."""
279
316
'foo': set(['1.0-0ubuntu1', '1.0~utopic-0ubuntu1']),
280
317
'bar': set(['9000-0ubuntu1', '9000~utopic-0ubuntu1']),
319
self.script.find_supported_arches = Mock(return_value=['i386'])
282
320
self.script.find_all_uploaded = Mock()
283
321
self.script.find_all_uploaded.return_value = uploaded
284
322
self.script.wait_for_ppa = Mock()
317
355
'foo': set(['1.0-0ubuntu1', '1.0~utopic-0ubuntu1']),
318
356
'bar': set(['9000-0ubuntu1', '9000~utopic-0ubuntu1']),
358
self.script.find_supported_arches = Mock(return_value=['i386'])
320
359
self.script.find_all_uploaded = Mock()
321
360
self.script.find_all_uploaded.return_value = uploaded
322
361
self.script.wait_for_ppa = Mock()
359
398
[BuildFake('i386', 'Successfully built')],
360
399
[BuildFake('i386', 'Currently building')],
401
self.script.find_supported_arches = Mock(return_value=['i386'])
362
402
self.script.wait_for_ppa.return_value = set(sources)
363
403
self.assertEqual(self.script.main(), 0)
364
404
self.script.launchpadmanager.get_resource_from_token\