Open web-padawan opened 2 years ago
Here is an updated list of still flaky tests after several improvements have been made (see the referenced PRs).
The tests are not stable in WebKit and Firefox.
packages/menu-bar/test/menu-bar.test.js:
❌ item components > should teleport the same component to overflow sub-menu and back
AssertionError: expected undefined to equal <vaadin-context-menu-item theme="menu-bar-item" aria-selected="false" role="menuitem" class="" aria-haspopup="false" tabindex="0"><div style="width: 100px;">Item 3</div></vaadin-context-menu-item>
at r (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:9574:12)
at n.exports<[3]</t.exports/i.prototype.assert (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:250:12)
at p (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:1409:11)
at c (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:7884:24)
at handleDom (node_modules/@open-wc/semantic-dom-diff/chai-dom-diff.js:102:16)
at f (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:9164:32)
at packages/menu-bar/test/menu-bar.test.js:577:33
packages/form-layout/test/form-layout.test.js:
❌ form layout > container overflow > no spacing on edges (rtl) > should not have spacing on the right edge
AssertionError: expected 288 to be close to 300 +/- 0.5
at r (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:9574:12)
at n.exports<[3]</t.exports/i.prototype.assert (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:250:12)
at S (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:[33](https://github.com/vaadin/web-components/runs/5445517447?check_suite_focus=true#step:6:33)50:9)
at c (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:7884:24)
at packages/form-layout/test/form-layout.test.js:278:61
at packages/form-layout/test/form-layout.test.js:277:59
packages/grid/test/scrolling-mode.test.js:
❌ scrolling mode > overflow attribute > update on resize
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
at createTimeoutError (node_modules/@web/test-runner-mocha/dist/autorun.js:1:243204)
at node_modules/@web/test-runner-mocha/dist/autorun.js:1:257230
Here are some more flaky tests from the recent coverage builds (failed in Chrome):
packages/date-picker/test/scroller.test.js:
❌ vaadin-infinite-scroller > should reflect currently visible item index as position scrolling up
Error: Uncaught AssertionError: expected 1.4000000000000057 to be below 1 (http://localhost:8000/node_modules/@esm-bundle/chai/esm/chai.js:[98](https://github.com/vaadin/web-components/runs/7611221226?check_suite_focus=true#step:5:99))
at t.onerror (node_modules/@web/test-runner-mocha/dist/autorun.js:1:326417)
packages/date-picker/test/keyboard-navigation.test.js:
❌ keyboard navigation > overlay > should focus previous year with shift and pageup
AssertionError: expected Sat, 01 Jan 2000 00:00:00 GMT to deeply equal Fri, 01 Jan 1999 00:00:00 GMT
+ expected - actual
-[Date: 2000-01-01T00:00:00.000Z]
+[Date: 1999-01-01T00:00:00.000Z]
at qy.<anonymous> (packages/date-picker/test/keyboard-navigation.test.js:274:38)
packages/field-highlighter/test/user-tags.test.js:
❌ user-tags > default > should create user tags for each added user
AssertionError: expected { entries: [Function: entries],
keys: [Function: keys],
values: [Function: values],
forEach: [Function: forEach],
length: 0,
item: [Function: item] } to have a length of 2 but got 0
+ expected - actual
-0
+2
at o.<anonymous> (packages/field-highlighter/test/user-tags.test.js:55:28)
UPD (27.10.2022): added some more flaky tests
Firefox:
packages/combo-box/test/lazy-loading.test.js:
❌ lazy loading > combo-box-light > dataProvider > async > should keep the focused item focused when loading more items
AssertionError: expected -1 to equal 0
+ expected - actual
--1
+0
Chrome:
packages/grid/test/scrolling-mode.test.js:
❌ scrolling mode > overflow attribute > update on resize
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
at createTimeoutError (node_modules/@web/test-runner-mocha/dist/autorun.js:1:243195)
at Gg._timeoutError (node_modules/@web/test-runner-mocha/dist/autorun.js:1:259145)
at node_modules/@web/test-runner-mocha/dist/autorun.js:1:257217
WebKit:
packages/component-base/test/virtualizer-item-height.test.js:
❌ virtualizer - item height > should adjust the placeholder height
AssertionError: expected 200 to be below 40
+ expected - actual
-200
+40
at r (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:9575:6)
at node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:251:8
at y (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:1781:10)
at c (node_modules/@esm-bundle/chai/node_modules/.pnpm/chai@4.3.4/node_modules/chai/chai.js:7884:30)
Update from 23.06.2023
Went through the workflow runs of the last few weeks and collected failed workflows. Pretty much none of the tests mentioned above caused a workflow to fail in the last four weeks. However I'm not sure if Github keeps track of workflows that have been manually re-run, the number of failed workflows was suspiciously low compared to what you would expect from having to re-run actions regularly.
Anyway, here are some tests that came up regularly in failed workflows, which have not been mentioned so far:
Chrome, Firefox, Webkit
packages/date-picker/test/events.test.js:
❌ events > has-input-value-changed event > without value > with user input > should be fired when selecting a date with Space
AssertionError: expected false to be true
+ expected - actual
-false
+true
at n.<anonymous> (packages/date-picker/test/events.test.js:154:51)
Chrome
integration/tests/grid-tooltip.test.js:
❌ tooltip > scrolling > should hide the tooltip when starting scrolling
AssertionError: expected false to be true
+ expected - actual
-false
+true
at n.<anonymous> (integration/tests/grid-tooltip.test.js:356:35)
Chrome
integration/tests/grid-tooltip.test.js:
❌ tooltip > mouse > should set tooltip target on cell mouseenter
AssertionError: expected <vaadin-grid aria-describedby="vaadin-tooltip-4" style="touch-action: none;">
<vaadin-grid-column path="firstName"></vaadin-grid-column>
<vaadin-grid-column path="lastName"></vaadin-grid-column>
<vaadin-tooltip slot="tooltip"></vaadin-tooltip>
<vaadin-grid-cell-content slot="vaadin-grid-cell-content-0">First name</vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-1">Last name</vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-2"></vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-3"></vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-4"></vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-5"></vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-6">John</vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-7">Doe</vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-8">Jane</vaadin-grid-cell-content><vaadin-grid-cell-content slot="vaadin-grid-cell-content-9">Doe</vaadin-grid-cell-content></vaadin-grid> to equal <td id="vaadin-grid-cell-6" role="gridcell" tabindex="0" part="cell body-cell first-column-cell first-row-cell even-row-cell drag-disabled-row-cell drop-disabled-row-cell" first-column="" aria-selected="false" style="width: 100px; flex-grow: 1; order: 10000000;"><slot name="vaadin-grid-cell-content-6"></slot></td>
at n.<anonymous> (integration/tests/grid-tooltip.test.js:105:[36](https://github.com/vaadin/web-components/actions/runs/5314201424/jobs/9621134295#step:5:37))
Update: there are now a few grid-pro test failing only in Firefox after recent change to use sendKeys()
:
packages/grid-pro/test/keyboard-navigation-polymer.test.js:
❌ keyboard navigation > when `singleCellEdit` is true > should focus previous cell available for editing on the previous in non-edit mode on Shift Tab
AssertionError: expected false to be true
+ expected - actual
-false
+true
❌ keyboard navigation > when `singleCellEdit` is true > should focus correct editable cell when column is hidden
AssertionError: expected false to be true
+ expected - actual
-false
+true
This ticket is a list of tests that fail in GitHub Actions occasionally. We need to investigate if they can be fixed, or skipped.
Unit tests
Chrome
Firefox
WebKit
Visual tests
Menu Bar