def test_handle_next_package(self, mock_builder): exit_event = threading.Event() pkg = buildd.Package(mock_builder, 'pkg', {'pkg-ver': 'pkg_1.2-3', 'arch': 'arch', 'archive': 'debian', 'suite': 'sid', 'extra-depends': 'glibc (>> 1)'}) pkgs = iter([pkg, None]) exit_event.set() self.assertFalse( buildd.handle_next_package(mock_builder, pkgs, exit_event)) exit_event.clear() self.assertTrue( buildd.handle_next_package(mock_builder, pkgs, exit_event)) self.assertTrue(mock_builder.build.called) self.assertTrue(mock_builder.upload.called) self.assertTrue(mock_builder.cleanup.called) mock_builder.reset_mock() mock_builder.idle_sleep_time = 0 self.assertTrue( buildd.handle_next_package(mock_builder, pkgs, exit_event)) self.assertFalse(mock_builder.build.called) self.assertFalse(mock_builder.upload.called) self.assertFalse(mock_builder.cleanup.called) self.assertFalse( buildd.handle_next_package(mock_builder, pkgs, exit_event))
def test_build_unknown_failure(self, mock_makedirs, mock_query_wannabuild, mock_pick_gpg_key, mock_run): builder = buildd.Builder(self.config) pkg = buildd.Package(builder, 'pkg', {'pkg-ver': 'pkg_1.2-3', 'arch': 'arch', 'archive': 'debian', 'suite': 'sid', 'extra-depends': 'glibc (>> 1)'}) self.assertFalse(builder.build(pkg)) self.assertTrue(mock_makedirs.called) self.assertTrue(mock_run.called) mock_query_wannabuild.assert_called_with( 'arch', 'sid', '--give-back', 'pkg_1.2-3')
def test_email_addresses(self): builder = buildd.Builder(self.config, hostname='host') pkg = buildd.Package(builder, 'pkg', {'pkg-ver': 'pkg_1.2-3', 'arch': 'arch', 'archive': 'debian', 'suite': 'sid'}) self.assertEqual( 'arch Build Daemon (host) <*****@*****.**>', pkg.maintainer_email(buildd.Key(keyid='12345678ABCDEF12', email='*****@*****.**'))) with patch('getpass.getuser', return_value='user'): self.assertEqual('buildd on host <user@host>', builder._mail_from_email)
def test_construct_sbuild_cmd(self, mock_pick_gpg_key): builder = buildd.Builder(self.config, hostname='host') pkg = buildd.Package(builder, 'pkg', {'pkg-ver': 'pkg_1.2-3', 'arch': 'arch', 'archive': 'debian', 'suite': 'sid', 'extra-depends': 'glibc (>> 1)'}) cmd = builder._construct_sbuild_cmd(pkg) self.assertEqual('sbuild', cmd[0]) self.assertIn('--dist=sid', cmd) self.assertIn('--maintainer=arch Build Daemon (host) ' '<*****@*****.**>', cmd) self.assertIn('--keyid=DFE4C0B481F37BDB', cmd) self.assertIn('--add-depends=glibc (>> 1)', cmd)