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

Fix the VRT tests that are failing in CI. #6185

Closed
techanvil opened this issue Nov 21, 2022 · 10 comments
Closed

Fix the VRT tests that are failing in CI. #6185

techanvil opened this issue Nov 21, 2022 · 10 comments
Labels
P0 High priority QA: Eng Requires specialized QA by an engineer Rollover Issues which role over to the next sprint Type: Infrastructure Engineering infrastructure & tooling

Comments

@techanvil
Copy link
Collaborator

techanvil commented Nov 21, 2022

Feature Description

Following up from #6151, there will be quite a few VRT tests failing in CI.

  • Most of them are failing correctly and simply need to have their reference image updated.
  • Two tests have been identified as needing work to fix the related Storybook stories:
    • WPDashboardWidgets > Ready with Activate Analytics CTA
    • SearchConsole > Ready with Activate Analytics CTA.
    • It appears that some sibling stories to the above also need attention although they do not have VRT scenarios.

We should apply an appropriate fix to all of these failing tests.


Do not alter or remove anything below. The following sections will be managed by moderators only.

Acceptance criteria

  • All of the VRT tests which are failing correctly in CI should have their reference images updated.
  • The VRT tests which need Storybook work to fix should be fixed and any related stories that may be broken should also be fixed. These tests are:
    • WPDashboardWidgets > Ready with Activate Analytics CTA - this has a VRT scenario
    • WPDashboardWidgets > Ready with Activate Module CTA
    • WPDashboardWidgets > Ready with Complete Analytics Activation CTA
    • SearchConsole > Ready with Activate Analytics CTA - this has a VRT scenario
    • SearchConsole > Ready with Complete Analytics Activation CTA
  • All of the tests should pass in CI. Discrepancies between CI and local test runs can be addressed separately via Resolve VRT issues for local runs #5824

Implementation Brief

Due to stability problems running the suite locally, we can fix the test suite using reference images from a CI run before moving on to address the local run issues in #5824.

  • Download the report from a CI run of the VRT workflow.
  • Check through the test failures.
  • For the tests which are failing correctly, copy the reference images from the report into tests/backstop/reference/.
  • Fix those tests which need Storybook work.
    • Refer to the AC for the list of stories. Confirm these are valid at the time of implementation.
    • Apply fixes and either run locally to generate the new reference images, or if necessary push to CI and download/update reference images via the report as above.
  • Remove the code that allows overriding misMatchThreshold configuration for individual scenarios, as this is no longer needed and is currently the cause of some false positives (see below for more info).
    • Ensure the related Progress Bar reference images are correctly updated along with the others.

Test Coverage

  • No new tests needed.

QA Brief

QA:Eng

  • Create a sample PR and ensure the VRT passes in the CI.
  • Alternatively, if you have an existing PR, pull the latest develop and push it and ensure the VRT is passing in the CI.
  • Ensure there shouldn't any failures.

Changelog entry

  • N/A.
@techanvil techanvil added P0 High priority Type: Infrastructure Engineering infrastructure & tooling labels Nov 21, 2022
@tofumatt tofumatt self-assigned this Nov 23, 2022
@tofumatt
Copy link
Collaborator

ACs and IB look good, but the IB here needs an estimate so assigned to @techanvil to assign one.

After that feel free to move right to the Execution Backlog, as otherwise this is IB ✅ from me 🙂

@tofumatt tofumatt assigned techanvil and unassigned tofumatt Nov 23, 2022
@techanvil
Copy link
Collaborator Author

Thanks @tofumatt! Have added an estimate of 7, moving on over to the EB 👍

@aaemnnosttv
Copy link
Collaborator

@techanvil I just noticed this in a failing VRT run (where most are still failing) but in this situation there seem to be tests which should have failed that passed.

E.g.
image

Any idea how this could happen?

@aaemnnosttv
Copy link
Collaborator

I've pulled this forward into this sprint – let's try to resolve this ahead of the release if possible.

@FlicHollis FlicHollis added the QA: Eng Requires specialized QA by an engineer label Nov 30, 2022
@techanvil
Copy link
Collaborator Author

techanvil commented Nov 30, 2022

@techanvil I just noticed this in a failing VRT run (where most are still failing) but in this situation there seem to be tests which should have failed that passed.

...

Any idea how this could happen?

Hey @aaemnnosttv - good spot there!

It turns out this is a bit of a historical issue with a simple fix.

To diagnose I first reverted to v1.81.0, prior to the ARM/M1 related fix, and found the issue was still there. I dug into it further and discovered the cause: We are overriding the misMatchThreshold value for this scenario. Looks like this must have been put in place before animations were stopped for VRT tests.

misMatchThreshold: 10, // Handle animation differences.

misMatchThreshold: 10,

I think it would be good to include a fix for it in this issue and would propose adding a line to the IB:

  • Remove the misMatchThreshold: 10 configuration from the Progress Bars scenario (see comment below) in order to prevent false positives for this test.

Does that sound OK to you, or would you rather address it in a separate issue?

@aaemnnosttv
Copy link
Collaborator

Thanks for digging into this @techanvil – let's remove misMatchThreshold overrides as part of this as well as those shouldn't be needed or used 👍

@aaemnnosttv aaemnnosttv assigned techanvil and unassigned aaemnnosttv Nov 30, 2022
@techanvil
Copy link
Collaborator Author

Thanks @aaemnnosttv, good shout. I have updated the IB accordingly.

@techanvil techanvil assigned aaemnnosttv and unassigned techanvil Nov 30, 2022
@aaemnnosttv
Copy link
Collaborator

Great, thanks @techanvil 👍

IB ✅

@aaemnnosttv aaemnnosttv removed their assignment Nov 30, 2022
@nfmohit nfmohit assigned nfmohit and unassigned nfmohit Dec 1, 2022
@hussain-t hussain-t assigned hussain-t and unassigned hussain-t Dec 2, 2022
@FlicHollis FlicHollis added the Rollover Issues which role over to the next sprint label Dec 4, 2022
@hussain-t hussain-t removed their assignment Dec 9, 2022
@asvinb asvinb assigned asvinb and hussain-t and unassigned asvinb Dec 9, 2022
@hussain-t hussain-t assigned asvinb and unassigned hussain-t Dec 9, 2022
@asvinb asvinb assigned hussain-t and unassigned asvinb Dec 12, 2022
@hussain-t hussain-t assigned asvinb and unassigned hussain-t Dec 12, 2022
@asvinb asvinb removed their assignment Dec 12, 2022
@techanvil techanvil assigned techanvil and unassigned techanvil Dec 12, 2022
@asvinb asvinb self-assigned this Dec 13, 2022
@asvinb
Copy link
Collaborator

asvinb commented Dec 13, 2022

QA: ✔️

Checked a recent PR and the VRT action is no longer failing:
image

@asvinb asvinb removed their assignment Dec 13, 2022
@aaemnnosttv
Copy link
Collaborator

This is mostly good to go although there are still some tests failing since this was merged.

These will be fixed in #6324.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P0 High priority QA: Eng Requires specialized QA by an engineer Rollover Issues which role over to the next sprint Type: Infrastructure Engineering infrastructure & tooling
Projects
None yet
Development

No branches or pull requests

7 participants