mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 23:45:44 +07:00
[FIX] runbot: make nb_testing count correct when children are duplicates
This commit is contained in:
parent
e51412d558
commit
b64c7adce2
@ -191,6 +191,7 @@ class runbot_build(models.Model):
|
||||
return self.env['runbot.build']
|
||||
vals['config_id'] = vals['config_id'] if 'config_id' in vals else branch.config_id.id
|
||||
build_id = super(runbot_build, self).create(vals)
|
||||
build_id._update_nb_children(build_id.local_state)
|
||||
extra_info = {'sequence': build_id.id if not build_id.sequence else build_id.sequence}
|
||||
context = self.env.context
|
||||
|
||||
@ -282,8 +283,6 @@ class runbot_build(models.Model):
|
||||
build_id.write(extra_info)
|
||||
if build_id.local_state == 'duplicate' and build_id.duplicate_id.global_state in ('running', 'done'): # and not build_id.parent_id:
|
||||
build_id._github_status()
|
||||
|
||||
build_id._update_nb_children(build_id.local_state)
|
||||
return build_id
|
||||
|
||||
def write(self, values):
|
||||
|
@ -159,7 +159,6 @@ class Test_Build(common.TransactionCase):
|
||||
'branch_id': self.branch_10.id,
|
||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||
})
|
||||
self.env.cr.test = True
|
||||
build1_1 = self.Build.create({
|
||||
'branch_id': self.branch_10.id,
|
||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||
@ -243,6 +242,30 @@ class Test_Build(common.TransactionCase):
|
||||
assert_state(0, 0, 0, 'done', build1_1_1)
|
||||
assert_state(0, 0, 0, 'done', build1_1_2)
|
||||
|
||||
def test_duplicate_childrens(self):
|
||||
build_old = self.Build.create({
|
||||
'branch_id': self.branch_10.id,
|
||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||
'extra_params': '0',
|
||||
})
|
||||
build_parent = self.Build.create({
|
||||
'branch_id': self.branch_10.id,
|
||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||
'extra_params': '1',
|
||||
})
|
||||
build_child = self.Build.create({
|
||||
'branch_id': self.branch_10.id,
|
||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||
'parent_id': build_parent.id,
|
||||
'extra_params': '0',
|
||||
})
|
||||
build_parent.local_state = 'done'
|
||||
self.assertEqual(build_child.local_state, 'duplicate')
|
||||
self.assertEqual(build_child.duplicate_id, build_old)
|
||||
self.assertEqual(build_parent.nb_pending, 0)
|
||||
self.assertEqual(build_parent.nb_testing, 0)
|
||||
self.assertEqual(build_parent.global_state, 'done')
|
||||
|
||||
def rev_parse(repo, branch_name):
|
||||
"""
|
||||
simulate a rev parse by returning a fake hash of form
|
||||
|
Loading…
Reference in New Issue
Block a user