mirror of
https://github.com/odoo/runbot.git
synced 2025-03-27 13:25:47 +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']
|
return self.env['runbot.build']
|
||||||
vals['config_id'] = vals['config_id'] if 'config_id' in vals else branch.config_id.id
|
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 = 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}
|
extra_info = {'sequence': build_id.id if not build_id.sequence else build_id.sequence}
|
||||||
context = self.env.context
|
context = self.env.context
|
||||||
|
|
||||||
@ -282,8 +283,6 @@ class runbot_build(models.Model):
|
|||||||
build_id.write(extra_info)
|
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:
|
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._github_status()
|
||||||
|
|
||||||
build_id._update_nb_children(build_id.local_state)
|
|
||||||
return build_id
|
return build_id
|
||||||
|
|
||||||
def write(self, values):
|
def write(self, values):
|
||||||
|
@ -159,7 +159,6 @@ class Test_Build(common.TransactionCase):
|
|||||||
'branch_id': self.branch_10.id,
|
'branch_id': self.branch_10.id,
|
||||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||||
})
|
})
|
||||||
self.env.cr.test = True
|
|
||||||
build1_1 = self.Build.create({
|
build1_1 = self.Build.create({
|
||||||
'branch_id': self.branch_10.id,
|
'branch_id': self.branch_10.id,
|
||||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
'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_1)
|
||||||
assert_state(0, 0, 0, 'done', build1_1_2)
|
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):
|
def rev_parse(repo, branch_name):
|
||||||
"""
|
"""
|
||||||
simulate a rev parse by returning a fake hash of form
|
simulate a rev parse by returning a fake hash of form
|
||||||
|
Loading…
Reference in New Issue
Block a user