Skip to content

Run the integration tests in a random order #19809

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

Conversation

timvandermeij
Copy link
Contributor

@timvandermeij timvandermeij commented Apr 13, 2025

Previous PRs for this issue removed the existing dependencies between tests, and this commit series finishes the work by preventing creation of new ones. Closing the viewer between tests also simplifies the code and further reduces room for intermittent failures because viewer state can no longer be retained between tests.

This PR is easier to review per commit because the isolation and associated cleanup are bundled per suite.

Fixes #19065.

To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
To avoid being able to introduce dependencies between tests this commit
makes sure that we close the document between tests so that we can't
accidentally rely on state set by a previous test.
@timvandermeij
Copy link
Contributor Author

/botio integrationtest

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Windows)


Received

Command cmd_integrationtest from @timvandermeij received. Current queue size: 0

Live output at: http://54.193.163.58:8877/594b6bff145e301/output.txt

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Linux m4)


Received

Command cmd_integrationtest from @timvandermeij received. Current queue size: 0

Live output at: http://54.241.84.105:8877/6409bb54ab3421a/output.txt

@timvandermeij timvandermeij changed the title Run the integration test in a random order Run the integration tests in a random order Apr 13, 2025
This commit configures Jasmine to no longer run the tests in a fixed
order, which combined with the previous isolation commits avoids being
able to accidentally introduce dependencies between integration tests.
@timvandermeij timvandermeij force-pushed the integration-tests-isolate-all-and-random branch from 1d0363b to 5f46791 Compare April 13, 2025 13:46
@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Linux m4)


Failed

Full output at http://54.241.84.105:8877/6409bb54ab3421a/output.txt

Total script time: 13.27 mins

  • Integration Tests: FAILED

…g integration test

It's no longer necessary after commit 1c73e52 that caused the document
to be closed properly between tests, and this therefore partly reverts
commit 973b67f.
@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Windows)


Failed

Full output at http://54.193.163.58:8877/594b6bff145e301/output.txt

Total script time: 32.04 mins

  • Integration Tests: FAILED

@timvandermeij
Copy link
Contributor Author

/botio integrationtest

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Windows)


Received

Command cmd_integrationtest from @timvandermeij received. Current queue size: 0

Live output at: http://54.193.163.58:8877/65c80c8fe4e8df5/output.txt

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Linux m4)


Received

Command cmd_integrationtest from @timvandermeij received. Current queue size: 0

Live output at: http://54.241.84.105:8877/d7588f1d2560985/output.txt

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Linux m4)


Failed

Full output at http://54.241.84.105:8877/d7588f1d2560985/output.txt

Total script time: 13.20 mins

  • Integration Tests: FAILED

@moz-tools-bot
Copy link
Collaborator

From: Bot.io (Windows)


Failed

Full output at http://54.193.163.58:8877/65c80c8fe4e8df5/output.txt

Total script time: 32.68 mins

  • Integration Tests: FAILED

@Snuffleupagus
Copy link
Collaborator

PDF viewer Canvas fits the page must check that canvas perfectly fits the page whatever the zoom level is

Looking at the logs it seems the above test timed out every time, on both Linux and Windows; was that just unlucky timing or does it indicate a problem with the test-case itself?

@timvandermeij
Copy link
Contributor Author

timvandermeij commented Apr 13, 2025

Looking back at recent logs it looks like this started after the Puppeteer (and therefore Chrome) update in #19807, which unfortunately didn't notice at the time because of the other intermittent failures; sorry for that! It only fails in Chrome, and I can reproduce it locally and have collected some debugging information, so I'll create a separate issue to track this because it's a change/regression in Chrome that is unrelated to the work in this PR.

Copy link
Collaborator

@Snuffleupagus Snuffleupagus left a comment

Choose a reason for hiding this comment

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

r=me, it's great seeing this work finally complete; thank you for pushing this through!

@timvandermeij timvandermeij merged commit 574e4f4 into mozilla:master Apr 13, 2025
7 checks passed
@timvandermeij timvandermeij deleted the integration-tests-isolate-all-and-random branch April 13, 2025 16:37
@timvandermeij
Copy link
Contributor Author

Thank you as well for all the reviews!

@timvandermeij
Copy link
Contributor Author

I have created #19811 for the must check that canvas perfectly fits the page whatever the zoom level is integration test failure as well now.

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

Successfully merging this pull request may close these issues.

Run the integration tests in a random order
3 participants