mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 23:45:44 +07:00
[IMP] runbot: add test for children
This commit is contained in:
parent
7adfa6c7eb
commit
239340e1bc
@ -154,6 +154,86 @@ class Test_Build(common.TransactionCase):
|
||||
self.assertEqual(build1.local_state, 'done', 'A killed pending duplicate build should mark the real build as done')
|
||||
self.assertEqual(build1.local_result, 'skipped', 'A killed pending duplicate build should mark the real build as skipped')
|
||||
|
||||
def test_children(self):
|
||||
build1 = self.Build.create({
|
||||
'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',
|
||||
'parent_id': build1.id,
|
||||
'hidden': True,
|
||||
'extra_params': '2', # avoid duplicate
|
||||
})
|
||||
build1_2 = self.Build.create({
|
||||
'branch_id': self.branch_10.id,
|
||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||
'parent_id': build1.id,
|
||||
'extra_params': '3',
|
||||
})
|
||||
build1_1_1 = self.Build.create({
|
||||
'branch_id': self.branch_10.id,
|
||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||
'parent_id': build1_1.id,
|
||||
'extra_params': '4',
|
||||
})
|
||||
build1_1_2 = self.Build.create({
|
||||
'branch_id': self.branch_10.id,
|
||||
'name': 'd0d0caca0000ffffffffffffffffffffffffffff',
|
||||
'parent_id': build1_1.id,
|
||||
'extra_params': '5',
|
||||
})
|
||||
|
||||
def assert_state(nb_pending, nb_testing, nb_running, global_state, build):
|
||||
self.assertEqual(build.nb_pending, nb_pending)
|
||||
self.assertEqual(build.nb_testing, nb_testing)
|
||||
self.assertEqual(build.nb_running, nb_running)
|
||||
self.assertEqual(build.global_state, global_state)
|
||||
|
||||
assert_state(5, 0, 0, 'pending', build1)
|
||||
assert_state(3, 0, 0, 'pending', build1_1)
|
||||
assert_state(1, 0, 0, 'pending', build1_2)
|
||||
assert_state(1, 0, 0, 'pending', build1_1_1)
|
||||
assert_state(1, 0, 0, 'pending', build1_1_2)
|
||||
|
||||
build1.local_state = 'testing'
|
||||
build1_1.local_state = 'testing'
|
||||
build1.local_state = 'done'
|
||||
build1_1.local_state = 'done'
|
||||
|
||||
assert_state(3, 0, 0, 'waiting', build1)
|
||||
assert_state(2, 0, 0, 'waiting', build1_1)
|
||||
assert_state(1, 0, 0, 'pending', build1_2)
|
||||
assert_state(1, 0, 0, 'pending', build1_1_1)
|
||||
assert_state(1, 0, 0, 'pending', build1_1_2)
|
||||
|
||||
build1_1_1.local_state = 'testing'
|
||||
|
||||
assert_state(2, 1, 0, 'waiting', build1)
|
||||
assert_state(1, 1, 0, 'waiting', build1_1)
|
||||
assert_state(1, 0, 0, 'pending', build1_2)
|
||||
assert_state(0, 1, 0, 'testing', build1_1_1)
|
||||
assert_state(1, 0, 0, 'pending', build1_1_2)
|
||||
|
||||
build1_2.local_state = 'testing'
|
||||
|
||||
assert_state(1, 2, 0, 'waiting', build1)
|
||||
assert_state(1, 1, 0, 'waiting', build1_1)
|
||||
assert_state(0, 1, 0, 'testing', build1_2)
|
||||
assert_state(0, 1, 0, 'testing', build1_1_1)
|
||||
assert_state(1, 0, 0, 'pending', build1_1_2)
|
||||
|
||||
build1_1_2.local_state = 'done'
|
||||
build1_1_1.local_state = 'done'
|
||||
build1_2.local_state = 'done'
|
||||
|
||||
assert_state(0, 0, 0, 'done', build1)
|
||||
assert_state(0, 0, 0, 'done', build1_1)
|
||||
assert_state(0, 0, 0, 'done', build1_2)
|
||||
assert_state(0, 0, 0, 'done', build1_1_1)
|
||||
assert_state(0, 0, 0, 'done', build1_1_2)
|
||||
|
||||
def rev_parse(repo, branch_name):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user