Problem/Motivation

In #3350972: [random test failure] Drupal\Tests\layout_builder\FunctionalJavascript\LayoutBuilderUiTest::testReloadWithNoSections() @nod_ introduced a "fix" for problems with the correct opening of an off-canvas dialog which potentially could fix all JS random test failures for tests using the library drupal.dialog.off_canvas somehow.

This issue is a META to track-n-test all currently skipped FunctionalJavascript tests that make use of that library.

The basic test for each issue would be:

  1. Unskip test.
  2. Run _only_ now unskipped test a lot of times (usually we go for 1500x) as-is.
  3. Run _only_ now unskipped test a lot of times (usually we go for 1500x) _without_ the changes in #3350972: [random test failure] Drupal\Tests\layout_builder\FunctionalJavascript\LayoutBuilderUiTest::testReloadWithNoSections().
  4. If 2, passes and 3 doesn't, we can safely turn the test back on again.

Per @xjm in #3353085-4: [meta] Determine impact of [#3350972] fix in off-canvas.js on currently disabled FunctionalJavascript tests we now need to go for a 5000-8000 times run for both patches.

Currently the library drupal.dialog.off_canvas is used in:

- core/modules/layout_builder/layout_builder.libraries.yml, so we need to check all skipped tests in core/modules/layout_builder/tests/src/FunctionalJavascript.
- core/themes/stable9/stable9.info.yml, so we need to check all skipped FunctionalJavascript tests that use that theme.
- Just went through every skipped FunctionalJavascript test.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

Comments

Spokje created an issue. See original summary.

spokje’s picture

Component: layout_builder.module » base system
spokje’s picture

Issue summary: View changes
xjm’s picture

Actually, 1500 runs is not statistically sufficient to prove something is fixed. Each test should be queued against a MySQL or Maria database 5000-8000 times. This can be accomplished by queuing a patch that runs the test 1000x for the required number of times. Don't use Postgres or SQLite databases for this.

spokje’s picture

Ok, I was under the impression we use 1500x as the magic number, I'll just requeue the 1500x patches 4 more times.

However, that leaves us with patches that are too slow for a 1500x run in the Drupal CI environment and hit the timeout like #3353103: [no random test failure] Try to un-skip and fix LayoutBuilderDisableInteractionsTest::assertContextualLinksClickable in context of [#3353085] where I had to down-scale to a 500x run.

Do we need to requeue those patches (at least) 9 more times?

spokje’s picture

Issue summary: View changes
spokje’s picture

Issue summary: View changes
spokje’s picture

spokje’s picture

However, that leaves us with patches that are too slow for a 1500x run in the Drupal CI environment and hit the timeout like [#3353103]where I had to down-scale to a 500x run. Do we need to requeue those patches (at least) 9 more times?

If so, can I tag those issues as "Novice" and the person that requeues it for the required number of reruns will receive credit for that?

xjm’s picture

Yep I have queued 10 or 15 jobs in the past for tests that are too slow to run more per job.

I can just queue the jobs now; not sure why that would be a novice task.

xjm’s picture

Fixing attribution.

spokje’s picture

Issue summary: View changes
catch’s picture

spokje’s picture

spokje’s picture

Status: Active » Fixed

Closing as all of its children are in an end-status.

quietone’s picture

@Spokje, thank you for managing this and working on the child issues !

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.