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

Make the Tango tests faster #667

Open
coretl opened this issue Nov 22, 2024 · 1 comment
Open

Make the Tango tests faster #667

coretl opened this issue Nov 22, 2024 · 1 comment
Assignees

Comments

@coretl
Copy link
Collaborator

coretl commented Nov 22, 2024

EPICS tests take 15s to run. Tango tests take 85s to run. This makes waiting for CI painful. I think a target of 20s for Tango tests is reasonable.

Some ideas:

  • Some tests take a long time because of long timeout or many repeats of the same code. See if these can be reduced.
  • All tango tests are currently forked, because this is apparently necessary, but when there is a module level fixture then we maybe we could get away with forking then running multiple tests? Test this theory by taking one of the parameterized tests and turning the parameters into a for loop inside the tests. If this is a good strategy then we could work out if it possible to extend pytest-forked to support forked fixtures, where every test that uses the fixture runs in the same fork.
  • Some tests may be duplicates and could be deleted

Acceptance Criteria

  • Tango tests take 20s to run
@jsouter
Copy link
Contributor

jsouter commented Nov 22, 2024

Taking this to mean we can use the same echo_device for each test instead of generating a new one each time, looping over the ATTRIBUTES_SET inside test_tango_signal_rw takes the time from ~16s to under a second, so definitely worth trying to find a nicer way to handle the fixtures!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants