Spin off from #3526459: Autodetect available CPUs in run-tests.sh for concurrency

Problem/Motivation

A few unit tests are executing in way more time than average unit tests, especially if they're executed in isolation.

These are making a hard tail on the unit test job in the pipeline.

Proposed resolution

  • Move those tests to kernel, where they'd be in the average execution time.
  • Tune the #slow group for some unit tests so the slowest ones remaining are started first.

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

Issue fork drupal-3589417

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mondrake created an issue. See original summary.

mondrake’s picture

Issue summary: View changes
mondrake’s picture

Status: Active » Needs review
mondrake’s picture

Assigned: mondrake » Unassigned
catch’s picture

Not entirely sure about this one because from discussion in slack, it sounds like the longest running unit tests are around 10-12 seconds and also the fastest run for all unit tests is around 10-12 seconds. So this prevents us going below 10-12 seconds but that's already faster than all of the lint jobs that we also block other test jobs on like phpcs and phpstan.

alexpott’s picture

This does not feel like the right thing to do. Unit tests should remain unit tests - making them kernel just because of test suite performance and not for capabilities they require is surprising and would be hard to explain. Also I'm sure that individually these tests will now take longer.

mondrake’s picture

Status: Needs review » Closed (won't fix)

OK, makes sense.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.