diff --git a/addons/hr_holidays/tests/test_company_leave.py b/addons/hr_holidays/tests/test_company_leave.py index 11462de358b..486c353425c 100644 --- a/addons/hr_holidays/tests/test_company_leave.py +++ b/addons/hr_holidays/tests/test_company_leave.py @@ -313,8 +313,7 @@ class TestCompanyLeave(TransactionCase): }) company_leave._compute_date_from_to() - count = 865 - with self.assertQueryCount(__system__=count, admin=count): + with self.assertQueryCount(__system__=735, admin=865): # Original query count: 1987 # Without tracking/activity context keys: 5154 company_leave.action_validate() diff --git a/addons/test_mail/tests/test_performance.py b/addons/test_mail/tests/test_performance.py index 424a465cd51..ecc2b110715 100644 --- a/addons/test_mail/tests/test_performance.py +++ b/addons/test_mail/tests/test_performance.py @@ -281,7 +281,7 @@ class TestMailAPIPerformance(BaseMailPerformance): test_record = self.env['mail.test.ticket'].browse(self.test_record_full.id) test_template = self.env['mail.template'].browse(self.test_template_full.id) # TODO FIXME non deterministic, last check 25 Mar 2020. Runbot at most +7 compared to local. - with self.assertQueryCount(__system__=12, emp=14): + with self.assertQueryCount(__system__=11, emp=13): composer = self.env['mail.compose.message'].with_context({ 'default_composition_mode': 'comment', 'default_model': test_record._name, @@ -602,7 +602,7 @@ class TestMailComplexPerformance(BaseMailPerformance): customer_id = self.customer.id user_id = self.user_portal.id - with self.assertQueryCount(__system__=109, emp=110): + with self.assertQueryCount(__system__=108, emp=109): rec = self.env['mail.test.ticket'].create({ 'name': 'Test', 'container_id': container_id, diff --git a/addons/test_mass_mailing/tests/test_performance.py b/addons/test_mass_mailing/tests/test_performance.py index 5ae91d52aa6..85fdf26bae8 100644 --- a/addons/test_mass_mailing/tests/test_performance.py +++ b/addons/test_mass_mailing/tests/test_performance.py @@ -91,7 +91,7 @@ class TestMassMailBlPerformance(TestMassMailPerformanceBase): }) # runbot needs +62 compared to local - with self.assertQueryCount(__system__=1993, marketing=1994): + with self.assertQueryCount(__system__=1992, marketing=1993): mailing.action_send_mail() self.assertEqual(mailing.sent, 50) diff --git a/odoo/addons/base/tests/test_ir_actions.py b/odoo/addons/base/tests/test_ir_actions.py index 7228c0d8d3f..29d2f890038 100644 --- a/odoo/addons/base/tests/test_ir_actions.py +++ b/odoo/addons/base/tests/test_ir_actions.py @@ -510,8 +510,8 @@ class TestCustomFields(common.TransactionCase): }) query_count = self.cr.sql_log_count - query_count - # create the related field, and assert it only takes 3 extra queries - with self.assertQueryCount(query_count + 3): + # create the related field, and assert it only takes 1 extra query + with self.assertQueryCount(query_count + 1): self.env['ir.model.fields'].create({ 'model_id': self.env['ir.model']._get_id('res.partner'), 'name': 'x_oh_boy', diff --git a/odoo/addons/test_performance/tests/test_performance.py b/odoo/addons/test_performance/tests/test_performance.py index 17ee6459b1a..d95f51c7d8b 100644 --- a/odoo/addons/test_performance/tests/test_performance.py +++ b/odoo/addons/test_performance/tests/test_performance.py @@ -112,37 +112,37 @@ class TestPerformance(SavepointCaseWithUserDemo): rec1 = self.env['test_performance.base'].create({'name': 'X'}) # create N lines on rec1: O(N) queries - rec1.invalidate_cache() - with self.assertQueryCount(2): + with self.assertQueryCount(3): + rec1.invalidate_cache() rec1.write({'line_ids': [Command.create({'value': 0})]}) self.assertEqual(len(rec1.line_ids), 1) - rec1.invalidate_cache() with self.assertQueryCount(15): + rec1.invalidate_cache() rec1.write({'line_ids': [Command.create({'value': val}) for val in range(1, 12)]}) self.assertEqual(len(rec1.line_ids), 12) lines = rec1.line_ids # update N lines: O(N) queries - rec1.invalidate_cache() with self.assertQueryCount(6): + rec1.invalidate_cache() rec1.write({'line_ids': [Command.update(line.id, {'value': 42}) for line in lines[0]]}) self.assertEqual(rec1.line_ids, lines) - rec1.invalidate_cache() with self.assertQueryCount(26): + rec1.invalidate_cache() rec1.write({'line_ids': [Command.update(line.id, {'value': 42 + line.id}) for line in lines[1:]]}) self.assertEqual(rec1.line_ids, lines) # delete N lines: O(1) queries - rec1.invalidate_cache() - with self.assertQueryCount(__system__=14, demo=14): + with self.assertQueryCount(14): + rec1.invalidate_cache() rec1.write({'line_ids': [Command.delete(line.id) for line in lines[0]]}) self.assertEqual(rec1.line_ids, lines[1:]) - rec1.invalidate_cache() - with self.assertQueryCount(__system__=12, demo=12): + with self.assertQueryCount(12): + rec1.invalidate_cache() rec1.write({'line_ids': [Command.delete(line.id) for line in lines[1:]]}) self.assertFalse(rec1.line_ids) self.assertFalse(lines.exists()) @@ -151,13 +151,13 @@ class TestPerformance(SavepointCaseWithUserDemo): lines = rec1.line_ids # unlink N lines: O(1) queries - rec1.invalidate_cache() - with self.assertQueryCount(__system__=11, demo=11): + with self.assertQueryCount(14): + rec1.invalidate_cache() rec1.write({'line_ids': [Command.unlink(line.id) for line in lines[0]]}) self.assertEqual(rec1.line_ids, lines[1:]) - rec1.invalidate_cache() - with self.assertQueryCount(__system__=12, demo=12): + with self.assertQueryCount(12): + rec1.invalidate_cache() rec1.write({'line_ids': [Command.unlink(line.id) for line in lines[1:]]}) self.assertFalse(rec1.line_ids) self.assertFalse(lines.exists()) @@ -167,36 +167,36 @@ class TestPerformance(SavepointCaseWithUserDemo): rec2 = self.env['test_performance.base'].create({'name': 'X'}) # link N lines from rec1 to rec2: O(1) queries - rec1.invalidate_cache() - with self.assertQueryCount(2): + with self.assertQueryCount(7): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.link(line.id) for line in lines[0]]}) self.assertEqual(rec1.line_ids, lines[1:]) self.assertEqual(rec2.line_ids, lines[0]) - rec1.invalidate_cache() with self.assertQueryCount(7): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.link(line.id) for line in lines[1:]]}) self.assertFalse(rec1.line_ids) self.assertEqual(rec2.line_ids, lines) - rec1.invalidate_cache() with self.assertQueryCount(5): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.link(line.id) for line in lines[0]]}) self.assertEqual(rec2.line_ids, lines) - rec1.invalidate_cache() with self.assertQueryCount(5): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.link(line.id) for line in lines[1:]]}) self.assertEqual(rec2.line_ids, lines) # empty N lines in rec2: O(1) queries - rec1.invalidate_cache() with self.assertQueryCount(__system__=13, demo=13): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.clear()]}) self.assertFalse(rec2.line_ids) - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.clear()]}) self.assertFalse(rec2.line_ids) @@ -204,18 +204,20 @@ class TestPerformance(SavepointCaseWithUserDemo): lines = rec1.line_ids # set N lines in rec2: O(1) queries - rec1.invalidate_cache() - with self.assertQueryCount(4): + with self.assertQueryCount(8): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.set(lines[0].ids)]}) self.assertEqual(rec1.line_ids, lines[1:]) self.assertEqual(rec2.line_ids, lines[0]) - with self.assertQueryCount(5): + with self.assertQueryCount(7): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.set(lines.ids)]}) self.assertFalse(rec1.line_ids) self.assertEqual(rec2.line_ids, lines) - with self.assertQueryCount(3): + with self.assertQueryCount(5): + rec1.invalidate_cache() rec2.write({'line_ids': [Command.set(lines.ids)]}) self.assertEqual(rec2.line_ids, lines) @@ -238,37 +240,37 @@ class TestPerformance(SavepointCaseWithUserDemo): rec1 = self.env['test_performance.base'].create({'name': 'X'}) # create N tags on rec1: O(N) queries - rec1.invalidate_cache() with self.assertQueryCount(4): + rec1.invalidate_cache() rec1.write({'tag_ids': [Command.create({'name': 0})]}) self.assertEqual(len(rec1.tag_ids), 1) - rec1.invalidate_cache() with self.assertQueryCount(14): + rec1.invalidate_cache() rec1.write({'tag_ids': [Command.create({'name': val}) for val in range(1, 12)]}) self.assertEqual(len(rec1.tag_ids), 12) tags = rec1.tag_ids # update N tags: O(N) queries - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec1.write({'tag_ids': [Command.update(tag.id, {'name': 'X'}) for tag in tags[0]]}) self.assertEqual(rec1.tag_ids, tags) - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec1.write({'tag_ids': [Command.update(tag.id, {'name': 'X'}) for tag in tags[1:]]}) self.assertEqual(rec1.tag_ids, tags) # delete N tags: O(1) queries - rec1.invalidate_cache() with self.assertQueryCount(__system__=8, demo=8): + rec1.invalidate_cache() rec1.write({'tag_ids': [Command.delete(tag.id) for tag in tags[0]]}) self.assertEqual(rec1.tag_ids, tags[1:]) - rec1.invalidate_cache() with self.assertQueryCount(__system__=8, demo=8): + rec1.invalidate_cache() rec1.write({'tag_ids': [Command.delete(tag.id) for tag in tags[1:]]}) self.assertFalse(rec1.tag_ids) self.assertFalse(tags.exists()) @@ -277,13 +279,13 @@ class TestPerformance(SavepointCaseWithUserDemo): tags = rec1.tag_ids # unlink N tags: O(1) queries - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec1.write({'tag_ids': [Command.unlink(tag.id) for tag in tags[0]]}) self.assertEqual(rec1.tag_ids, tags[1:]) - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec1.write({'tag_ids': [Command.unlink(tag.id) for tag in tags[1:]]}) self.assertFalse(rec1.tag_ids) self.assertTrue(tags.exists()) @@ -291,56 +293,56 @@ class TestPerformance(SavepointCaseWithUserDemo): rec2 = self.env['test_performance.base'].create({'name': 'X'}) # link N tags from rec1 to rec2: O(1) queries - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.link(tag.id) for tag in tags[0]]}) self.assertEqual(rec2.tag_ids, tags[0]) - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.link(tag.id) for tag in tags[1:]]}) self.assertEqual(rec2.tag_ids, tags) - rec1.invalidate_cache() with self.assertQueryCount(2): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.link(tag.id) for tag in tags[1:]]}) self.assertEqual(rec2.tag_ids, tags) # empty N tags in rec2: O(1) queries - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.clear()]}) self.assertFalse(rec2.tag_ids) self.assertTrue(tags.exists()) - rec1.invalidate_cache() with self.assertQueryCount(2): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.clear()]}) self.assertFalse(rec2.tag_ids) # set N tags in rec2: O(1) queries - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.set(tags.ids)]}) self.assertEqual(rec2.tag_ids, tags) - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.set(tags[:8].ids)]}) self.assertEqual(rec2.tag_ids, tags[:8]) - rec1.invalidate_cache() with self.assertQueryCount(4): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.set(tags[4:].ids)]}) self.assertEqual(rec2.tag_ids, tags[4:]) - rec1.invalidate_cache() with self.assertQueryCount(3): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.set(tags.ids)]}) self.assertEqual(rec2.tag_ids, tags) - rec1.invalidate_cache() with self.assertQueryCount(2): + rec1.invalidate_cache() rec2.write({'tag_ids': [Command.set(tags.ids)]}) self.assertEqual(rec2.tag_ids, tags) @@ -412,12 +414,12 @@ class TestPerformance(SavepointCaseWithUserDemo): with self.assertQueryCount(__system__=2, demo=2): records.mapped('value') - records.invalidate_cache(['value']) with self.assertQueryCount(__system__=2, demo=2): + records.invalidate_cache(['value']) records.mapped('value') - records.invalidate_cache(['value']) with self.assertQueryCount(__system__=2, demo=2): + records.invalidate_cache(['value']) new_recs = records.browse(records.new(origin=record).id for record in records) new_recs.mapped('value')