Page MenuHomePhabricator

ReferenceError: regeneratorRuntime is not defined
Closed, ResolvedPublic

Description

After updating webdriverio from v6 to v7 in 700229, quibble-vendor-mysql-php72-selenium-docker fails with ReferenceError: regeneratorRuntime is not defined.

More relevant terminal output:

1Execution of 2 spec files started at 2021-07-17T11:34:57.157Z
2
3[0-0] RUNNING in chrome - /tests/selenium/specs/page_previews.js
4[0-0] ReferenceError in "Dwelling on a valid page link "before all" hook for "I should see a page preview""
5ReferenceError: regeneratorRuntime is not defined
6 at /workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:19:9
7 at makePage (/workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:19:9)
8 at /workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:37:11
9 at PopupsPage.setup (/workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:33:11)
10 at Context.<anonymous> (/workspace/src/extensions/Popups/tests/selenium/specs/page_previews.js:8:8)
11[0-0] FAILED in chrome - /tests/selenium/specs/page_previews.js
12[0-1] RUNNING in chrome - /tests/selenium/specs/reference_previews.js
13[0-1] ReferenceError in "Dwelling on a valid reference link "before all" hook for "I should see a reference preview""
14ReferenceError: regeneratorRuntime is not defined
15 at /workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:19:9
16 at makePage (/workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:19:9)
17 at /workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:37:11
18 at PopupsPage.setup (/workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:33:11)
19 at Context.<anonymous> (/workspace/src/extensions/Popups/tests/selenium/specs/reference_previews.js:9:8)
20[0-1] FAILED in chrome - /tests/selenium/specs/reference_previews.js
21
22 "spec" Reporter:
23------------------------------------------------------------------
24[Chrome 90.0.4430.93 linux #0-0] Running: Chrome (v90.0.4430.93) on linux
25[Chrome 90.0.4430.93 linux #0-0] Session ID: 17205e7c-9217-4fb2-8eea-5304bb34ac2d
26[Chrome 90.0.4430.93 linux #0-0]
27[Chrome 90.0.4430.93 linux #0-0] » /tests/selenium/specs/page_previews.js
28[Chrome 90.0.4430.93 linux #0-0] Dwelling on a valid page link
29[Chrome 90.0.4430.93 linux #0-0] ✖ "before all" hook for Dwelling on a valid page link
30[Chrome 90.0.4430.93 linux #0-0]
31[Chrome 90.0.4430.93 linux #0-0] 1 failing (33ms)
32[Chrome 90.0.4430.93 linux #0-0]
33[Chrome 90.0.4430.93 linux #0-0] 1) Dwelling on a valid page link "before all" hook for Dwelling on a valid page link
34[Chrome 90.0.4430.93 linux #0-0] regeneratorRuntime is not defined
35[Chrome 90.0.4430.93 linux #0-0] ReferenceError: regeneratorRuntime is not defined
36[Chrome 90.0.4430.93 linux #0-0] at /workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:19:9
37[Chrome 90.0.4430.93 linux #0-0] at makePage (/workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:19:9)
38[Chrome 90.0.4430.93 linux #0-0] at /workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:37:11
39[Chrome 90.0.4430.93 linux #0-0] at PopupsPage.setup (/workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:33:11)
40[Chrome 90.0.4430.93 linux #0-0] at Context.<anonymous> (/workspace/src/extensions/Popups/tests/selenium/specs/page_previews.js:8:8)
41------------------------------------------------------------------
42[Chrome 90.0.4430.93 linux #0-1] Running: Chrome (v90.0.4430.93) on linux
43[Chrome 90.0.4430.93 linux #0-1] Session ID: eef2fdcf-72e3-41ac-851d-a4056a1a5a5a
44[Chrome 90.0.4430.93 linux #0-1]
45[Chrome 90.0.4430.93 linux #0-1] » /tests/selenium/specs/reference_previews.js
46[Chrome 90.0.4430.93 linux #0-1] Dwelling on a valid reference link
47[Chrome 90.0.4430.93 linux #0-1] ✖ "before all" hook for Dwelling on a valid reference link
48[Chrome 90.0.4430.93 linux #0-1]
49[Chrome 90.0.4430.93 linux #0-1] 1 failing (40ms)
50[Chrome 90.0.4430.93 linux #0-1]
51[Chrome 90.0.4430.93 linux #0-1] 1) Dwelling on a valid reference link "before all" hook for Dwelling on a valid reference link
52[Chrome 90.0.4430.93 linux #0-1] regeneratorRuntime is not defined
53[Chrome 90.0.4430.93 linux #0-1] ReferenceError: regeneratorRuntime is not defined
54[Chrome 90.0.4430.93 linux #0-1] at /workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:19:9
55[Chrome 90.0.4430.93 linux #0-1] at makePage (/workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:19:9)
56[Chrome 90.0.4430.93 linux #0-1] at /workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:37:11
57[Chrome 90.0.4430.93 linux #0-1] at PopupsPage.setup (/workspace/src/extensions/Popups/tests/selenium/pageobjects/popups.page.js:33:11)
58[Chrome 90.0.4430.93 linux #0-1] at Context.<anonymous> (/workspace/src/extensions/Popups/tests/selenium/specs/reference_previews.js:9:8)
59
60
61Spec Files: 0 passed, 2 failed, 2 total (100% completed) in 00:00:10

To my surprise, regeneratorRuntime is only in a few files in docs folder, not in tests/selenium. (ack is a command line search tool. ack -cl regeneratorRuntime will output how many times the string regeneratorRuntime is found in a file.)

~/Documents/gerrit/mediawiki/core/extensions/Popups$ ack -cl regeneratorRuntime          
docs/ui/vendors~main.a8a1b7b52fe881f7f47d.bundle.js:1
docs/ui/sb_dll/storybook_ui_dll.js:1
docs/ui/vendors~main.953776f8fa9ff3ceb56d.bundle.js:5

700229/5 added {"targets": {"esmodules": true}} to .babelrc, and that fixed ReferenceError: regeneratorRuntime is not defined error, but introduced Binary files a/resources/dist/index.js.map.json and b/resources/dist/index.js.map.json differ in mwgate-node12-docker.

More relevant terminal output:

1+ npm run-script test
2
3> test
4> npm -s run check-built-assets && npm run test:lint && bash ./dev-scripts/svg_check.sh && npm -s run coverage && npm -s run -s doc && bundlesize && npm run build-storybook
5
6CHECKING BUILD SOURCES ARE COMMITTED OR STAGED
7(node:992) DeprecationWarning: loaderUtils.parseQuery() received a non-string value which can be problematic, see https://github.com/webpack/loader-utils/issues/56
8parseQuery() will be replaced with getOptions() in the next major version of loader-utils.
9Built at: 07/16/2021 3:01:53 PM
10diff --git a/resources/dist/index.js b/resources/dist/index.js
11index dead3e5..9bb8466 100644
12Binary files a/resources/dist/index.js and b/resources/dist/index.js differ
13diff --git a/resources/dist/index.js.map.json b/resources/dist/index.js.map.json
14index 813048d..4512001 100644
15Binary files a/resources/dist/index.js.map.json and b/resources/dist/index.js.map.json differ
16v12.21.0
177.5.2
18Please ensure you are running the correct version of nvm before running this command.
19npm ERR! code 1
20npm ERR! path /src
21npm ERR! command failed
22npm ERR! command sh -c npm -s run check-built-assets && npm run test:lint && bash ./dev-scripts/svg_check.sh && npm -s run coverage && npm -s run -s doc && bundlesize && npm run build-storybook

Event Timeline

zeljkofilipin renamed this task from Binary files a/resources/dist/index.js.map.json and b/resources/dist/index.js.map.json differ to ReferenceError: regeneratorRuntime is not defined.Jul 17 2021, 11:35 AM
zeljkofilipin moved this task from Backlog 🪒 to Deep work 🌊 on the User-zeljkofilipin board.

Change 700229 had a related patch set uploaded (by Zfilipin; author: Sahilgrewalhere):

[mediawiki/extensions/Popups@master] selenium: Upgrade WebdriverIO to v7

https://gerrit.wikimedia.org/r/700229

From Gerrit by @Jdlrobson:

regeneratorRuntime is not defined appears to be linked with babel6.
https://github.com/babel/babel/issues/9849

zeljkofilipin triaged this task as Medium priority.
zeljkofilipin moved this task from Waiting 🏹 to Deep work 🌊 on the User-zeljkofilipin board.

Should be fixed by https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Popups/+/700229/13..14/.babelrc - untagging page previews as this is a problem in the patch not the codebase.