Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[15.0][IMP] queue: test performance improvement #567

Closed
wants to merge 1 commit into from

Conversation

josep-tecnativa
Copy link

CC @Tecnativa TT45458

- Create setUpClass() method if necessary
- Switch to setUpClass (if needed) for avoiding repeat the same setup for each test.
- Include context keys for avoiding mail operations overhead.
@OCA-git-bot
Copy link
Contributor

Hi @guewen,
some modules you are maintaining are being modified, check this out!

@pedrobaeza pedrobaeza added this to the 15.0 milestone Oct 24, 2023
super().setUp()
self.recordset = mock.MagicMock(name="recordset")
@classmethod
def setUpClass(cls):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO this change is useless. This class does not inherit from an odoo class and does not trigger any odoo functionality

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, it avoids redeclaring the case for every test. Indeed not much gain here anyway and the context thing would be useless here, that's true

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a mocked object... changes nothing in terms of perf.
Anyway, I'd keep the setUpClass but I'd drop the ctx stuff because it gives the false idea that is needed for whatever reason.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree 👍 Please, @josep-tecnativa :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, maybe in terms of "consistency" to not wondering if put it or not.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The thing here is that this class test inherits directly from unittest so it's quite useless to set that

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, useless, but consistent to always read the same code everywhere in OCA (I wonder also why this is not using Odoo tests), and with minimum overhead. And the day this is switched to Odoo tests, you already have it.

Copy link
Contributor

@simahawk simahawk Oct 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree because you should always keep the setup minimal.
However.... Now that I think of this twice... I fear that since the refactoring of the test suite was done (14, 15, 16) these tests are not auto-discovered anymore (just search for this test class in the build).
Hence, we should use BaseCase at least.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@josep-tecnativa switch to BaseCase or TransactionCase, please.

@OCA-git-bot
Copy link
Contributor

This PR has the approved label and has been created more than 5 days ago. It should therefore be ready to merge by a maintainer (or a PSC member if the concerned addon has no declared maintainer). 🤖

Copy link

github-actions bot commented Mar 3, 2024

There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days.
If you want this PR to never become stale, please ask a PSC member to apply the "no stale" label.

@github-actions github-actions bot added the stale PR/Issue without recent activity, it'll be soon closed automatically. label Mar 3, 2024
@github-actions github-actions bot closed this Apr 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved ready to merge stale PR/Issue without recent activity, it'll be soon closed automatically.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants