pokeedex 0.1.0 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -5
- data/bin/pokeedex +1 -44
- data/lib/pokeedex/configuration.rb +0 -6
- data/lib/pokeedex/install_playwright.rb +62 -0
- data/lib/pokeedex/pokemon/scrapper/fetchers/base.rb +1 -1
- data/lib/pokeedex/version.rb +1 -1
- data/lib/pokeedex.rb +5 -2
- data/spec/pokeedex/configuration_spec.rb +0 -7
- data/spec/spec_helper.rb +1 -1
- metadata +2 -550
- data/node_modules/.bin/playwright +0 -1
- data/node_modules/.bin/playwright-core +0 -1
- data/node_modules/.yarn-integrity +0 -22
- data/node_modules/@playwright/test/LICENSE +0 -202
- data/node_modules/@playwright/test/NOTICE +0 -5
- data/node_modules/@playwright/test/README.md +0 -169
- data/node_modules/@playwright/test/cli.js +0 -19
- data/node_modules/@playwright/test/index.d.ts +0 -18
- data/node_modules/@playwright/test/index.js +0 -17
- data/node_modules/@playwright/test/index.mjs +0 -18
- data/node_modules/@playwright/test/node_modules/.bin/playwright +0 -1
- data/node_modules/@playwright/test/package.json +0 -35
- data/node_modules/@playwright/test/reporter.d.ts +0 -17
- data/node_modules/@playwright/test/reporter.js +0 -17
- data/node_modules/@playwright/test/reporter.mjs +0 -17
- data/node_modules/@types/node/LICENSE +0 -21
- data/node_modules/@types/node/README.md +0 -15
- data/node_modules/@types/node/assert/strict.d.ts +0 -8
- data/node_modules/@types/node/assert.d.ts +0 -1040
- data/node_modules/@types/node/async_hooks.d.ts +0 -541
- data/node_modules/@types/node/buffer.d.ts +0 -2300
- data/node_modules/@types/node/child_process.d.ts +0 -1544
- data/node_modules/@types/node/cluster.d.ts +0 -578
- data/node_modules/@types/node/console.d.ts +0 -452
- data/node_modules/@types/node/constants.d.ts +0 -19
- data/node_modules/@types/node/crypto.d.ts +0 -4451
- data/node_modules/@types/node/dgram.d.ts +0 -596
- data/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
- data/node_modules/@types/node/dns/promises.d.ts +0 -476
- data/node_modules/@types/node/dns.d.ts +0 -865
- data/node_modules/@types/node/dom-events.d.ts +0 -124
- data/node_modules/@types/node/domain.d.ts +0 -170
- data/node_modules/@types/node/events.d.ts +0 -931
- data/node_modules/@types/node/fs/promises.d.ts +0 -1264
- data/node_modules/@types/node/fs.d.ts +0 -4390
- data/node_modules/@types/node/globals.d.ts +0 -611
- data/node_modules/@types/node/globals.global.d.ts +0 -1
- data/node_modules/@types/node/http.d.ts +0 -1921
- data/node_modules/@types/node/http2.d.ts +0 -2555
- data/node_modules/@types/node/https.d.ts +0 -544
- data/node_modules/@types/node/index.d.ts +0 -90
- data/node_modules/@types/node/inspector.d.ts +0 -3966
- data/node_modules/@types/node/module.d.ts +0 -301
- data/node_modules/@types/node/net.d.ts +0 -995
- data/node_modules/@types/node/os.d.ts +0 -495
- data/node_modules/@types/node/package.json +0 -217
- data/node_modules/@types/node/path.d.ts +0 -200
- data/node_modules/@types/node/perf_hooks.d.ts +0 -941
- data/node_modules/@types/node/process.d.ts +0 -1912
- data/node_modules/@types/node/punycode.d.ts +0 -117
- data/node_modules/@types/node/querystring.d.ts +0 -153
- data/node_modules/@types/node/readline/promises.d.ts +0 -150
- data/node_modules/@types/node/readline.d.ts +0 -540
- data/node_modules/@types/node/repl.d.ts +0 -430
- data/node_modules/@types/node/sea.d.ts +0 -153
- data/node_modules/@types/node/sqlite.d.ts +0 -213
- data/node_modules/@types/node/stream/consumers.d.ts +0 -12
- data/node_modules/@types/node/stream/promises.d.ts +0 -83
- data/node_modules/@types/node/stream/web.d.ts +0 -606
- data/node_modules/@types/node/stream.d.ts +0 -1726
- data/node_modules/@types/node/string_decoder.d.ts +0 -67
- data/node_modules/@types/node/test.d.ts +0 -2098
- data/node_modules/@types/node/timers/promises.d.ts +0 -97
- data/node_modules/@types/node/timers.d.ts +0 -240
- data/node_modules/@types/node/tls.d.ts +0 -1220
- data/node_modules/@types/node/trace_events.d.ts +0 -197
- data/node_modules/@types/node/tty.d.ts +0 -208
- data/node_modules/@types/node/url.d.ts +0 -969
- data/node_modules/@types/node/util.d.ts +0 -2301
- data/node_modules/@types/node/v8.d.ts +0 -808
- data/node_modules/@types/node/vm.d.ts +0 -922
- data/node_modules/@types/node/wasi.d.ts +0 -181
- data/node_modules/@types/node/worker_threads.d.ts +0 -712
- data/node_modules/@types/node/zlib.d.ts +0 -539
- data/node_modules/fsevents/LICENSE +0 -22
- data/node_modules/fsevents/README.md +0 -83
- data/node_modules/fsevents/fsevents.d.ts +0 -46
- data/node_modules/fsevents/fsevents.js +0 -82
- data/node_modules/fsevents/fsevents.node +0 -0
- data/node_modules/fsevents/package.json +0 -62
- data/node_modules/playwright/.eslintrc.js +0 -6
- data/node_modules/playwright/LICENSE +0 -202
- data/node_modules/playwright/NOTICE +0 -5
- data/node_modules/playwright/README.md +0 -169
- data/node_modules/playwright/ThirdPartyNotices.txt +0 -4356
- data/node_modules/playwright/cli.js +0 -19
- data/node_modules/playwright/index.d.ts +0 -17
- data/node_modules/playwright/index.js +0 -17
- data/node_modules/playwright/index.mjs +0 -18
- data/node_modules/playwright/jsx-runtime.js +0 -41
- data/node_modules/playwright/jsx-runtime.mjs +0 -21
- data/node_modules/playwright/lib/common/config.js +0 -256
- data/node_modules/playwright/lib/common/configLoader.js +0 -321
- data/node_modules/playwright/lib/common/esmLoaderHost.js +0 -93
- data/node_modules/playwright/lib/common/expectBundle.js +0 -27
- data/node_modules/playwright/lib/common/expectBundleImpl.js +0 -389
- data/node_modules/playwright/lib/common/fixtures.js +0 -323
- data/node_modules/playwright/lib/common/globals.js +0 -48
- data/node_modules/playwright/lib/common/ipc.js +0 -48
- data/node_modules/playwright/lib/common/poolBuilder.js +0 -79
- data/node_modules/playwright/lib/common/process.js +0 -140
- data/node_modules/playwright/lib/common/suiteUtils.js +0 -133
- data/node_modules/playwright/lib/common/test.js +0 -311
- data/node_modules/playwright/lib/common/testLoader.js +0 -102
- data/node_modules/playwright/lib/common/testType.js +0 -284
- data/node_modules/playwright/lib/fsWatcher.js +0 -69
- data/node_modules/playwright/lib/index.js +0 -888
- data/node_modules/playwright/lib/internalsForTest.js +0 -28
- data/node_modules/playwright/lib/isomorphic/events.js +0 -72
- data/node_modules/playwright/lib/isomorphic/folders.js +0 -25
- data/node_modules/playwright/lib/isomorphic/stringInternPool.js +0 -58
- data/node_modules/playwright/lib/isomorphic/teleReceiver.js +0 -504
- data/node_modules/playwright/lib/isomorphic/teleSuiteUpdater.js +0 -149
- data/node_modules/playwright/lib/isomorphic/testServerConnection.js +0 -210
- data/node_modules/playwright/lib/isomorphic/testServerInterface.js +0 -5
- data/node_modules/playwright/lib/isomorphic/testTree.js +0 -272
- data/node_modules/playwright/lib/loader/loaderMain.js +0 -58
- data/node_modules/playwright/lib/matchers/expect.js +0 -297
- data/node_modules/playwright/lib/matchers/matcherHint.js +0 -50
- data/node_modules/playwright/lib/matchers/matchers.js +0 -449
- data/node_modules/playwright/lib/matchers/toBeTruthy.js +0 -55
- data/node_modules/playwright/lib/matchers/toEqual.js +0 -57
- data/node_modules/playwright/lib/matchers/toMatchSnapshot.js +0 -383
- data/node_modules/playwright/lib/matchers/toMatchText.js +0 -76
- data/node_modules/playwright/lib/plugins/gitCommitInfoPlugin.js +0 -78
- data/node_modules/playwright/lib/plugins/index.js +0 -19
- data/node_modules/playwright/lib/plugins/webServerPlugin.js +0 -187
- data/node_modules/playwright/lib/program.js +0 -346
- data/node_modules/playwright/lib/reporters/base.js +0 -553
- data/node_modules/playwright/lib/reporters/blob.js +0 -133
- data/node_modules/playwright/lib/reporters/dot.js +0 -82
- data/node_modules/playwright/lib/reporters/empty.js +0 -42
- data/node_modules/playwright/lib/reporters/github.js +0 -115
- data/node_modules/playwright/lib/reporters/html.js +0 -623
- data/node_modules/playwright/lib/reporters/internalReporter.js +0 -123
- data/node_modules/playwright/lib/reporters/json.js +0 -243
- data/node_modules/playwright/lib/reporters/junit.js +0 -233
- data/node_modules/playwright/lib/reporters/line.js +0 -108
- data/node_modules/playwright/lib/reporters/list.js +0 -222
- data/node_modules/playwright/lib/reporters/markdown.js +0 -76
- data/node_modules/playwright/lib/reporters/merge.js +0 -477
- data/node_modules/playwright/lib/reporters/multiplexer.js +0 -90
- data/node_modules/playwright/lib/reporters/reporterV2.js +0 -118
- data/node_modules/playwright/lib/reporters/teleEmitter.js +0 -268
- data/node_modules/playwright/lib/reporters/versions/blobV1.js +0 -5
- data/node_modules/playwright/lib/runner/dispatcher.js +0 -532
- data/node_modules/playwright/lib/runner/failureTracker.js +0 -60
- data/node_modules/playwright/lib/runner/loadUtils.js +0 -308
- data/node_modules/playwright/lib/runner/loaderHost.js +0 -85
- data/node_modules/playwright/lib/runner/processHost.js +0 -175
- data/node_modules/playwright/lib/runner/projectUtils.js +0 -203
- data/node_modules/playwright/lib/runner/reporters.js +0 -151
- data/node_modules/playwright/lib/runner/runner.js +0 -179
- data/node_modules/playwright/lib/runner/sigIntWatcher.js +0 -100
- data/node_modules/playwright/lib/runner/taskRunner.js +0 -147
- data/node_modules/playwright/lib/runner/tasks.js +0 -407
- data/node_modules/playwright/lib/runner/testGroups.js +0 -136
- data/node_modules/playwright/lib/runner/testServer.js +0 -605
- data/node_modules/playwright/lib/runner/uiModeReporter.js +0 -31
- data/node_modules/playwright/lib/runner/vcs.js +0 -55
- data/node_modules/playwright/lib/runner/watchMode.js +0 -398
- data/node_modules/playwright/lib/runner/workerHost.js +0 -85
- data/node_modules/playwright/lib/third_party/tsconfig-loader.js +0 -134
- data/node_modules/playwright/lib/transform/babelBundle.js +0 -28
- data/node_modules/playwright/lib/transform/babelBundleImpl.js +0 -2032
- data/node_modules/playwright/lib/transform/compilationCache.js +0 -254
- data/node_modules/playwright/lib/transform/esmLoader.js +0 -117
- data/node_modules/playwright/lib/transform/esmUtils.js +0 -32
- data/node_modules/playwright/lib/transform/portTransport.js +0 -81
- data/node_modules/playwright/lib/transform/transform.js +0 -267
- data/node_modules/playwright/lib/util.js +0 -356
- data/node_modules/playwright/lib/utilsBundle.js +0 -28
- data/node_modules/playwright/lib/utilsBundleImpl.js +0 -102
- data/node_modules/playwright/lib/worker/fixtureRunner.js +0 -279
- data/node_modules/playwright/lib/worker/testInfo.js +0 -397
- data/node_modules/playwright/lib/worker/testTracing.js +0 -314
- data/node_modules/playwright/lib/worker/timeoutManager.js +0 -153
- data/node_modules/playwright/lib/worker/workerMain.js +0 -637
- data/node_modules/playwright/node_modules/.bin/playwright-core +0 -1
- data/node_modules/playwright/package.json +0 -66
- data/node_modules/playwright/test.d.ts +0 -18
- data/node_modules/playwright/test.js +0 -24
- data/node_modules/playwright/test.mjs +0 -33
- data/node_modules/playwright/types/test.d.ts +0 -8444
- data/node_modules/playwright/types/testReporter.d.ts +0 -749
- data/node_modules/playwright-core/LICENSE +0 -202
- data/node_modules/playwright-core/NOTICE +0 -5
- data/node_modules/playwright-core/README.md +0 -3
- data/node_modules/playwright-core/ThirdPartyNotices.txt +0 -1548
- data/node_modules/playwright-core/bin/PrintDeps.exe +0 -0
- data/node_modules/playwright-core/bin/README.md +0 -2
- data/node_modules/playwright-core/bin/install_media_pack.ps1 +0 -5
- data/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -13
- data/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +0 -24
- data/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -12
- data/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +0 -24
- data/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -11
- data/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +0 -23
- data/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -11
- data/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +0 -23
- data/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -40
- data/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -11
- data/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +0 -24
- data/node_modules/playwright-core/browsers.json +0 -53
- data/node_modules/playwright-core/cli.js +0 -18
- data/node_modules/playwright-core/index.d.ts +0 -17
- data/node_modules/playwright-core/index.js +0 -33
- data/node_modules/playwright-core/index.mjs +0 -28
- data/node_modules/playwright-core/lib/androidServerImpl.js +0 -69
- data/node_modules/playwright-core/lib/browserServerImpl.js +0 -92
- data/node_modules/playwright-core/lib/cli/driver.js +0 -95
- data/node_modules/playwright-core/lib/cli/program.js +0 -577
- data/node_modules/playwright-core/lib/cli/programWithTestStub.js +0 -67
- data/node_modules/playwright-core/lib/client/accessibility.js +0 -50
- data/node_modules/playwright-core/lib/client/android.js +0 -473
- data/node_modules/playwright-core/lib/client/api.js +0 -279
- data/node_modules/playwright-core/lib/client/artifact.js +0 -79
- data/node_modules/playwright-core/lib/client/browser.js +0 -145
- data/node_modules/playwright-core/lib/client/browserContext.js +0 -541
- data/node_modules/playwright-core/lib/client/browserType.js +0 -241
- data/node_modules/playwright-core/lib/client/cdpSession.js +0 -53
- data/node_modules/playwright-core/lib/client/channelOwner.js +0 -231
- data/node_modules/playwright-core/lib/client/clientHelper.js +0 -57
- data/node_modules/playwright-core/lib/client/clientInstrumentation.js +0 -50
- data/node_modules/playwright-core/lib/client/clock.js +0 -68
- data/node_modules/playwright-core/lib/client/connection.js +0 -330
- data/node_modules/playwright-core/lib/client/consoleMessage.js +0 -55
- data/node_modules/playwright-core/lib/client/coverage.js +0 -41
- data/node_modules/playwright-core/lib/client/dialog.js +0 -57
- data/node_modules/playwright-core/lib/client/download.js +0 -62
- data/node_modules/playwright-core/lib/client/electron.js +0 -135
- data/node_modules/playwright-core/lib/client/elementHandle.js +0 -321
- data/node_modules/playwright-core/lib/client/errors.js +0 -77
- data/node_modules/playwright-core/lib/client/eventEmitter.js +0 -314
- data/node_modules/playwright-core/lib/client/events.js +0 -94
- data/node_modules/playwright-core/lib/client/fetch.js +0 -396
- data/node_modules/playwright-core/lib/client/fileChooser.js +0 -45
- data/node_modules/playwright-core/lib/client/frame.js +0 -504
- data/node_modules/playwright-core/lib/client/harRouter.js +0 -99
- data/node_modules/playwright-core/lib/client/input.js +0 -111
- data/node_modules/playwright-core/lib/client/jsHandle.js +0 -129
- data/node_modules/playwright-core/lib/client/jsonPipe.js +0 -35
- data/node_modules/playwright-core/lib/client/localUtils.js +0 -35
- data/node_modules/playwright-core/lib/client/locator.js +0 -441
- data/node_modules/playwright-core/lib/client/network.js +0 -604
- data/node_modules/playwright-core/lib/client/page.js +0 -725
- data/node_modules/playwright-core/lib/client/playwright.js +0 -77
- data/node_modules/playwright-core/lib/client/selectors.js +0 -67
- data/node_modules/playwright-core/lib/client/stream.js +0 -54
- data/node_modules/playwright-core/lib/client/tracing.js +0 -138
- data/node_modules/playwright-core/lib/client/types.js +0 -24
- data/node_modules/playwright-core/lib/client/video.js +0 -51
- data/node_modules/playwright-core/lib/client/waiter.js +0 -158
- data/node_modules/playwright-core/lib/client/webError.js +0 -37
- data/node_modules/playwright-core/lib/client/worker.js +0 -71
- data/node_modules/playwright-core/lib/client/writableStream.js +0 -54
- data/node_modules/playwright-core/lib/common/socksProxy.js +0 -569
- data/node_modules/playwright-core/lib/common/timeoutSettings.js +0 -73
- data/node_modules/playwright-core/lib/common/types.js +0 -5
- data/node_modules/playwright-core/lib/generated/clockSource.js +0 -7
- data/node_modules/playwright-core/lib/generated/consoleApiSource.js +0 -7
- data/node_modules/playwright-core/lib/generated/injectedScriptSource.js +0 -7
- data/node_modules/playwright-core/lib/generated/recorderSource.js +0 -7
- data/node_modules/playwright-core/lib/generated/utilityScriptSource.js +0 -7
- data/node_modules/playwright-core/lib/image_tools/colorUtils.js +0 -98
- data/node_modules/playwright-core/lib/image_tools/compare.js +0 -108
- data/node_modules/playwright-core/lib/image_tools/imageChannel.js +0 -70
- data/node_modules/playwright-core/lib/image_tools/stats.js +0 -102
- data/node_modules/playwright-core/lib/inProcessFactory.js +0 -54
- data/node_modules/playwright-core/lib/inprocess.js +0 -20
- data/node_modules/playwright-core/lib/outofprocess.js +0 -67
- data/node_modules/playwright-core/lib/protocol/debug.js +0 -27
- data/node_modules/playwright-core/lib/protocol/serializers.js +0 -173
- data/node_modules/playwright-core/lib/protocol/transport.js +0 -82
- data/node_modules/playwright-core/lib/protocol/validator.js +0 -2694
- data/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +0 -139
- data/node_modules/playwright-core/lib/remote/playwrightConnection.js +0 -274
- data/node_modules/playwright-core/lib/remote/playwrightServer.js +0 -110
- data/node_modules/playwright-core/lib/server/accessibility.js +0 -62
- data/node_modules/playwright-core/lib/server/android/android.js +0 -441
- data/node_modules/playwright-core/lib/server/android/backendAdb.js +0 -172
- data/node_modules/playwright-core/lib/server/artifact.js +0 -104
- data/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +0 -296
- data/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +0 -206
- data/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +0 -162
- data/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +0 -110
- data/node_modules/playwright-core/lib/server/bidi/bidiInput.js +0 -174
- data/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +0 -304
- data/node_modules/playwright-core/lib/server/bidi/bidiPage.js +0 -456
- data/node_modules/playwright-core/lib/server/bidi/third_party/bidiDeserializer.js +0 -93
- data/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +0 -238
- data/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +0 -139
- data/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +0 -144
- data/node_modules/playwright-core/lib/server/browser.js +0 -137
- data/node_modules/playwright-core/lib/server/browserContext.js +0 -684
- data/node_modules/playwright-core/lib/server/browserType.js +0 -307
- data/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
- data/node_modules/playwright-core/lib/server/chromium/chromium.js +0 -362
- data/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +0 -44
- data/node_modules/playwright-core/lib/server/chromium/crAccessibility.js +0 -237
- data/node_modules/playwright-core/lib/server/chromium/crBrowser.js +0 -515
- data/node_modules/playwright-core/lib/server/chromium/crConnection.js +0 -228
- data/node_modules/playwright-core/lib/server/chromium/crCoverage.js +0 -246
- data/node_modules/playwright-core/lib/server/chromium/crDevTools.js +0 -104
- data/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +0 -143
- data/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +0 -156
- data/node_modules/playwright-core/lib/server/chromium/crInput.js +0 -171
- data/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +0 -767
- data/node_modules/playwright-core/lib/server/chromium/crPage.js +0 -1128
- data/node_modules/playwright-core/lib/server/chromium/crPdf.js +0 -153
- data/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +0 -133
- data/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +0 -112
- data/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +0 -145
- data/node_modules/playwright-core/lib/server/chromium/videoRecorder.js +0 -155
- data/node_modules/playwright-core/lib/server/clock.js +0 -125
- data/node_modules/playwright-core/lib/server/codegen/csharp.js +0 -299
- data/node_modules/playwright-core/lib/server/codegen/java.js +0 -235
- data/node_modules/playwright-core/lib/server/codegen/javascript.js +0 -223
- data/node_modules/playwright-core/lib/server/codegen/jsonl.js +0 -47
- data/node_modules/playwright-core/lib/server/codegen/language.js +0 -76
- data/node_modules/playwright-core/lib/server/codegen/languages.js +0 -30
- data/node_modules/playwright-core/lib/server/codegen/python.js +0 -265
- data/node_modules/playwright-core/lib/server/codegen/types.js +0 -5
- data/node_modules/playwright-core/lib/server/console.js +0 -57
- data/node_modules/playwright-core/lib/server/cookieStore.js +0 -112
- data/node_modules/playwright-core/lib/server/debugController.js +0 -234
- data/node_modules/playwright-core/lib/server/debugger.js +0 -132
- data/node_modules/playwright-core/lib/server/deviceDescriptors.js +0 -26
- data/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +0 -1669
- data/node_modules/playwright-core/lib/server/dialog.js +0 -70
- data/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +0 -193
- data/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +0 -118
- data/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +0 -351
- data/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +0 -170
- data/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +0 -55
- data/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +0 -48
- data/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +0 -103
- data/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +0 -44
- data/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +0 -395
- data/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +0 -93
- data/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +0 -228
- data/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +0 -286
- data/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +0 -102
- data/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +0 -59
- data/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +0 -413
- data/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +0 -221
- data/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +0 -358
- data/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +0 -106
- data/node_modules/playwright-core/lib/server/dispatchers/selectorsDispatcher.js +0 -36
- data/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +0 -62
- data/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +0 -54
- data/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +0 -58
- data/node_modules/playwright-core/lib/server/dom.js +0 -845
- data/node_modules/playwright-core/lib/server/download.js +0 -53
- data/node_modules/playwright-core/lib/server/electron/electron.js +0 -296
- data/node_modules/playwright-core/lib/server/electron/loader.js +0 -57
- data/node_modules/playwright-core/lib/server/errors.js +0 -68
- data/node_modules/playwright-core/lib/server/fetch.js +0 -660
- data/node_modules/playwright-core/lib/server/fileChooser.js +0 -42
- data/node_modules/playwright-core/lib/server/fileUploadUtils.js +0 -75
- data/node_modules/playwright-core/lib/server/firefox/ffAccessibility.js +0 -216
- data/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +0 -458
- data/node_modules/playwright-core/lib/server/firefox/ffConnection.js +0 -168
- data/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +0 -138
- data/node_modules/playwright-core/lib/server/firefox/ffInput.js +0 -150
- data/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +0 -233
- data/node_modules/playwright-core/lib/server/firefox/ffPage.js +0 -556
- data/node_modules/playwright-core/lib/server/firefox/firefox.js +0 -110
- data/node_modules/playwright-core/lib/server/formData.js +0 -75
- data/node_modules/playwright-core/lib/server/frameSelectors.js +0 -171
- data/node_modules/playwright-core/lib/server/frames.js +0 -1654
- data/node_modules/playwright-core/lib/server/har/harRecorder.js +0 -139
- data/node_modules/playwright-core/lib/server/har/harTracer.js +0 -531
- data/node_modules/playwright-core/lib/server/helper.js +0 -103
- data/node_modules/playwright-core/lib/server/index.js +0 -114
- data/node_modules/playwright-core/lib/server/input.js +0 -311
- data/node_modules/playwright-core/lib/server/instrumentation.js +0 -70
- data/node_modules/playwright-core/lib/server/isomorphic/utilityScriptSerializers.js +0 -226
- data/node_modules/playwright-core/lib/server/javascript.js +0 -306
- data/node_modules/playwright-core/lib/server/launchApp.js +0 -91
- data/node_modules/playwright-core/lib/server/macEditingCommands.js +0 -139
- data/node_modules/playwright-core/lib/server/network.js +0 -617
- data/node_modules/playwright-core/lib/server/page.js +0 -825
- data/node_modules/playwright-core/lib/server/pipeTransport.js +0 -85
- data/node_modules/playwright-core/lib/server/playwright.js +0 -85
- data/node_modules/playwright-core/lib/server/progress.js +0 -102
- data/node_modules/playwright-core/lib/server/protocolError.js +0 -49
- data/node_modules/playwright-core/lib/server/recorder/contextRecorder.js +0 -316
- data/node_modules/playwright-core/lib/server/recorder/recorderActions.js +0 -5
- data/node_modules/playwright-core/lib/server/recorder/recorderApp.js +0 -190
- data/node_modules/playwright-core/lib/server/recorder/recorderCollection.js +0 -127
- data/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +0 -177
- data/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +0 -71
- data/node_modules/playwright-core/lib/server/recorder/throttledFile.js +0 -46
- data/node_modules/playwright-core/lib/server/recorder.js +0 -324
- data/node_modules/playwright-core/lib/server/registry/browserFetcher.js +0 -168
- data/node_modules/playwright-core/lib/server/registry/dependencies.js +0 -322
- data/node_modules/playwright-core/lib/server/registry/index.js +0 -924
- data/node_modules/playwright-core/lib/server/registry/nativeDeps.js +0 -490
- data/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +0 -138
- data/node_modules/playwright-core/lib/server/screenshotter.js +0 -348
- data/node_modules/playwright-core/lib/server/selectors.js +0 -73
- data/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +0 -328
- data/node_modules/playwright-core/lib/server/socksInterceptor.js +0 -100
- data/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +0 -171
- data/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +0 -493
- data/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +0 -486
- data/node_modules/playwright-core/lib/server/trace/test/inMemorySnapshotter.js +0 -93
- data/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +0 -216
- data/node_modules/playwright-core/lib/server/transport.js +0 -191
- data/node_modules/playwright-core/lib/server/types.js +0 -24
- data/node_modules/playwright-core/lib/server/usKeyboardLayout.js +0 -555
- data/node_modules/playwright-core/lib/server/webkit/webkit.js +0 -87
- data/node_modules/playwright-core/lib/server/webkit/wkAccessibility.js +0 -194
- data/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +0 -328
- data/node_modules/playwright-core/lib/server/webkit/wkConnection.js +0 -173
- data/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +0 -146
- data/node_modules/playwright-core/lib/server/webkit/wkInput.js +0 -169
- data/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +0 -162
- data/node_modules/playwright-core/lib/server/webkit/wkPage.js +0 -1216
- data/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +0 -94
- data/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +0 -104
- data/node_modules/playwright-core/lib/third_party/diff_match_patch.js +0 -2222
- data/node_modules/playwright-core/lib/third_party/pixelmatch.js +0 -255
- data/node_modules/playwright-core/lib/utils/ascii.js +0 -31
- data/node_modules/playwright-core/lib/utils/comparators.js +0 -171
- data/node_modules/playwright-core/lib/utils/crypto.js +0 -174
- data/node_modules/playwright-core/lib/utils/debug.js +0 -46
- data/node_modules/playwright-core/lib/utils/debugLogger.js +0 -91
- data/node_modules/playwright-core/lib/utils/env.js +0 -49
- data/node_modules/playwright-core/lib/utils/eventsHelper.js +0 -38
- data/node_modules/playwright-core/lib/utils/expectUtils.js +0 -33
- data/node_modules/playwright-core/lib/utils/fileUtils.js +0 -205
- data/node_modules/playwright-core/lib/utils/happy-eyeballs.js +0 -181
- data/node_modules/playwright-core/lib/utils/headers.js +0 -52
- data/node_modules/playwright-core/lib/utils/hostPlatform.js +0 -133
- data/node_modules/playwright-core/lib/utils/httpServer.js +0 -236
- data/node_modules/playwright-core/lib/utils/index.js +0 -368
- data/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +0 -250
- data/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +0 -979
- data/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +0 -651
- data/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +0 -179
- data/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +0 -62
- data/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +0 -29
- data/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +0 -397
- data/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +0 -139
- data/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +0 -39
- data/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +0 -120
- data/node_modules/playwright-core/lib/utils/linuxUtils.js +0 -78
- data/node_modules/playwright-core/lib/utils/manualPromise.js +0 -109
- data/node_modules/playwright-core/lib/utils/multimap.js +0 -75
- data/node_modules/playwright-core/lib/utils/network.js +0 -160
- data/node_modules/playwright-core/lib/utils/processLauncher.js +0 -248
- data/node_modules/playwright-core/lib/utils/profiler.js +0 -53
- data/node_modules/playwright-core/lib/utils/rtti.js +0 -44
- data/node_modules/playwright-core/lib/utils/semaphore.js +0 -51
- data/node_modules/playwright-core/lib/utils/spawnAsync.js +0 -45
- data/node_modules/playwright-core/lib/utils/stackTrace.js +0 -121
- data/node_modules/playwright-core/lib/utils/task.js +0 -58
- data/node_modules/playwright-core/lib/utils/time.js +0 -37
- data/node_modules/playwright-core/lib/utils/timeoutRunner.js +0 -66
- data/node_modules/playwright-core/lib/utils/traceUtils.js +0 -44
- data/node_modules/playwright-core/lib/utils/userAgent.js +0 -105
- data/node_modules/playwright-core/lib/utils/wsServer.js +0 -127
- data/node_modules/playwright-core/lib/utils/zipFile.js +0 -75
- data/node_modules/playwright-core/lib/utils/zones.js +0 -62
- data/node_modules/playwright-core/lib/utilsBundle.js +0 -82
- data/node_modules/playwright-core/lib/utilsBundleImpl/index.js +0 -53
- data/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +0 -1066
- data/node_modules/playwright-core/lib/vite/htmlReport/index.html +0 -66
- data/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-aW6Vz3gf.js +0 -24
- data/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-ez37Vkbh.css +0 -1
- data/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- data/node_modules/playwright-core/lib/vite/recorder/assets/index-B-MT5gKo.css +0 -1
- data/node_modules/playwright-core/lib/vite/recorder/assets/index-DCpXOVIh.js +0 -47
- data/node_modules/playwright-core/lib/vite/recorder/index.html +0 -29
- data/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +0 -9
- data/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-eFKCUIu2.js +0 -24
- data/node_modules/playwright-core/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/assets/workbench-D0cirtfA.js +0 -72
- data/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-BeNbaIVa.js +0 -9
- data/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.ez37Vkbh.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- data/node_modules/playwright-core/lib/vite/traceViewer/embedded.BkuvsLJp.js +0 -2
- data/node_modules/playwright-core/lib/vite/traceViewer/embedded.html +0 -16
- data/node_modules/playwright-core/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/index.C968kAiC.js +0 -2
- data/node_modules/playwright-core/lib/vite/traceViewer/index.CrbWWHbf.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/index.html +0 -27
- data/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +0 -9
- data/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +0 -21
- data/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +0 -3
- data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.BkFnr4V0.js +0 -10
- data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.D3cNFP6u.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +0 -18
- data/node_modules/playwright-core/lib/vite/traceViewer/workbench.DjbIuxix.css +0 -1
- data/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DSXBckUd.css +0 -32
- data/node_modules/playwright-core/lib/zipBundle.js +0 -25
- data/node_modules/playwright-core/lib/zipBundleImpl.js +0 -5
- data/node_modules/playwright-core/package.json +0 -44
- data/node_modules/playwright-core/types/protocol.d.ts +0 -21500
- data/node_modules/playwright-core/types/structs.d.ts +0 -45
- data/node_modules/playwright-core/types/types.d.ts +0 -21431
- data/node_modules/undici-types/LICENSE +0 -21
- data/node_modules/undici-types/README.md +0 -6
- data/node_modules/undici-types/agent.d.ts +0 -31
- data/node_modules/undici-types/api.d.ts +0 -43
- data/node_modules/undici-types/balanced-pool.d.ts +0 -29
- data/node_modules/undici-types/cache.d.ts +0 -36
- data/node_modules/undici-types/client.d.ts +0 -108
- data/node_modules/undici-types/connector.d.ts +0 -34
- data/node_modules/undici-types/content-type.d.ts +0 -21
- data/node_modules/undici-types/cookies.d.ts +0 -28
- data/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
- data/node_modules/undici-types/dispatcher.d.ts +0 -255
- data/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
- data/node_modules/undici-types/errors.d.ts +0 -149
- data/node_modules/undici-types/eventsource.d.ts +0 -63
- data/node_modules/undici-types/fetch.d.ts +0 -209
- data/node_modules/undici-types/file.d.ts +0 -39
- data/node_modules/undici-types/filereader.d.ts +0 -54
- data/node_modules/undici-types/formdata.d.ts +0 -108
- data/node_modules/undici-types/global-dispatcher.d.ts +0 -9
- data/node_modules/undici-types/global-origin.d.ts +0 -7
- data/node_modules/undici-types/handlers.d.ts +0 -15
- data/node_modules/undici-types/header.d.ts +0 -4
- data/node_modules/undici-types/index.d.ts +0 -71
- data/node_modules/undici-types/interceptors.d.ts +0 -15
- data/node_modules/undici-types/mock-agent.d.ts +0 -50
- data/node_modules/undici-types/mock-client.d.ts +0 -25
- data/node_modules/undici-types/mock-errors.d.ts +0 -12
- data/node_modules/undici-types/mock-interceptor.d.ts +0 -93
- data/node_modules/undici-types/mock-pool.d.ts +0 -25
- data/node_modules/undici-types/package.json +0 -55
- data/node_modules/undici-types/patch.d.ts +0 -71
- data/node_modules/undici-types/pool-stats.d.ts +0 -19
- data/node_modules/undici-types/pool.d.ts +0 -39
- data/node_modules/undici-types/proxy-agent.d.ts +0 -28
- data/node_modules/undici-types/readable.d.ts +0 -60
- data/node_modules/undici-types/retry-agent.d.ts +0 -8
- data/node_modules/undici-types/retry-handler.d.ts +0 -116
- data/node_modules/undici-types/util.d.ts +0 -18
- data/node_modules/undici-types/webidl.d.ts +0 -222
- data/node_modules/undici-types/websocket.d.ts +0 -152
- data/yarn.lock +0 -41
@@ -1,637 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.create = exports.WorkerMain = void 0;
|
7
|
-
var _utilsBundle = require("playwright-core/lib/utilsBundle");
|
8
|
-
var _util = require("../util");
|
9
|
-
var _ipc = require("../common/ipc");
|
10
|
-
var _globals = require("../common/globals");
|
11
|
-
var _configLoader = require("../common/configLoader");
|
12
|
-
var _fixtureRunner = require("./fixtureRunner");
|
13
|
-
var _utils = require("playwright-core/lib/utils");
|
14
|
-
var _testInfo = require("./testInfo");
|
15
|
-
var _process = require("../common/process");
|
16
|
-
var _testLoader = require("../common/testLoader");
|
17
|
-
var _suiteUtils = require("../common/suiteUtils");
|
18
|
-
var _poolBuilder = require("../common/poolBuilder");
|
19
|
-
var _fixtures = require("../common/fixtures");
|
20
|
-
/**
|
21
|
-
* Copyright Microsoft Corporation. All rights reserved.
|
22
|
-
*
|
23
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
24
|
-
* you may not use this file except in compliance with the License.
|
25
|
-
* You may obtain a copy of the License at
|
26
|
-
*
|
27
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
28
|
-
*
|
29
|
-
* Unless required by applicable law or agreed to in writing, software
|
30
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
31
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
32
|
-
* See the License for the specific language governing permissions and
|
33
|
-
* limitations under the License.
|
34
|
-
*/
|
35
|
-
|
36
|
-
class WorkerMain extends _process.ProcessRunner {
|
37
|
-
constructor(params) {
|
38
|
-
super();
|
39
|
-
this._params = void 0;
|
40
|
-
this._config = void 0;
|
41
|
-
this._project = void 0;
|
42
|
-
this._poolBuilder = void 0;
|
43
|
-
this._fixtureRunner = void 0;
|
44
|
-
// Accumulated fatal errors that cannot be attributed to a test.
|
45
|
-
this._fatalErrors = [];
|
46
|
-
// Whether we should skip running remaining tests in this suite because
|
47
|
-
// of a setup error, usually beforeAll hook.
|
48
|
-
this._skipRemainingTestsInSuite = void 0;
|
49
|
-
// The stage of the full cleanup. Once "finished", we can safely stop running anything.
|
50
|
-
this._didRunFullCleanup = false;
|
51
|
-
// Whether the worker was requested to stop.
|
52
|
-
this._isStopped = false;
|
53
|
-
// This promise resolves once the single "run test group" call finishes.
|
54
|
-
this._runFinished = new _utils.ManualPromise();
|
55
|
-
this._currentTest = null;
|
56
|
-
this._lastRunningTests = [];
|
57
|
-
this._totalRunningTests = 0;
|
58
|
-
// Suites that had their beforeAll hooks, but not afterAll hooks executed.
|
59
|
-
// These suites still need afterAll hooks to be executed for the proper cleanup.
|
60
|
-
// Contains dynamic annotations originated by modifiers with a callback, e.g. `test.skip(() => true)`.
|
61
|
-
this._activeSuites = new Map();
|
62
|
-
process.env.TEST_WORKER_INDEX = String(params.workerIndex);
|
63
|
-
process.env.TEST_PARALLEL_INDEX = String(params.parallelIndex);
|
64
|
-
(0, _globals.setIsWorkerProcess)();
|
65
|
-
this._params = params;
|
66
|
-
this._fixtureRunner = new _fixtureRunner.FixtureRunner();
|
67
|
-
|
68
|
-
// Resolve this promise, so worker does not stall waiting for the non-existent run to finish,
|
69
|
-
// when it was sopped before running any test group.
|
70
|
-
this._runFinished.resolve();
|
71
|
-
process.on('unhandledRejection', reason => this.unhandledError(reason));
|
72
|
-
process.on('uncaughtException', error => this.unhandledError(error));
|
73
|
-
process.stdout.write = chunk => {
|
74
|
-
var _this$_currentTest;
|
75
|
-
this.dispatchEvent('stdOut', (0, _ipc.stdioChunkToParams)(chunk));
|
76
|
-
(_this$_currentTest = this._currentTest) === null || _this$_currentTest === void 0 || _this$_currentTest._tracing.appendStdioToTrace('stdout', chunk);
|
77
|
-
return true;
|
78
|
-
};
|
79
|
-
if (!process.env.PW_RUNNER_DEBUG) {
|
80
|
-
process.stderr.write = chunk => {
|
81
|
-
var _this$_currentTest2;
|
82
|
-
this.dispatchEvent('stdErr', (0, _ipc.stdioChunkToParams)(chunk));
|
83
|
-
(_this$_currentTest2 = this._currentTest) === null || _this$_currentTest2 === void 0 || _this$_currentTest2._tracing.appendStdioToTrace('stderr', chunk);
|
84
|
-
return true;
|
85
|
-
};
|
86
|
-
}
|
87
|
-
}
|
88
|
-
_stop() {
|
89
|
-
if (!this._isStopped) {
|
90
|
-
var _this$_currentTest3;
|
91
|
-
this._isStopped = true;
|
92
|
-
(_this$_currentTest3 = this._currentTest) === null || _this$_currentTest3 === void 0 || _this$_currentTest3._interrupt();
|
93
|
-
}
|
94
|
-
return this._runFinished;
|
95
|
-
}
|
96
|
-
async gracefullyClose() {
|
97
|
-
try {
|
98
|
-
await this._stop();
|
99
|
-
// Ignore top-level errors, they are already inside TestInfo.errors.
|
100
|
-
const fakeTestInfo = new _testInfo.TestInfoImpl(this._config, this._project, this._params, undefined, 0, () => {}, () => {}, () => {});
|
101
|
-
const runnable = {
|
102
|
-
type: 'teardown'
|
103
|
-
};
|
104
|
-
// We have to load the project to get the right deadline below.
|
105
|
-
await fakeTestInfo._runAsStage({
|
106
|
-
title: 'worker cleanup',
|
107
|
-
runnable
|
108
|
-
}, () => this._loadIfNeeded()).catch(() => {});
|
109
|
-
await this._fixtureRunner.teardownScope('test', fakeTestInfo, runnable).catch(() => {});
|
110
|
-
await this._fixtureRunner.teardownScope('worker', fakeTestInfo, runnable).catch(() => {});
|
111
|
-
// Close any other browsers launched in this process. This includes anything launched
|
112
|
-
// manually in the test/hooks and internal browsers like Playwright Inspector.
|
113
|
-
await fakeTestInfo._runAsStage({
|
114
|
-
title: 'worker cleanup',
|
115
|
-
runnable
|
116
|
-
}, () => (0, _utils.gracefullyCloseAll)()).catch(() => {});
|
117
|
-
this._fatalErrors.push(...fakeTestInfo.errors);
|
118
|
-
} catch (e) {
|
119
|
-
this._fatalErrors.push((0, _util.serializeError)(e));
|
120
|
-
}
|
121
|
-
if (this._fatalErrors.length) {
|
122
|
-
this._appendProcessTeardownDiagnostics(this._fatalErrors[this._fatalErrors.length - 1]);
|
123
|
-
const payload = {
|
124
|
-
fatalErrors: this._fatalErrors
|
125
|
-
};
|
126
|
-
this.dispatchEvent('teardownErrors', payload);
|
127
|
-
}
|
128
|
-
}
|
129
|
-
_appendProcessTeardownDiagnostics(error) {
|
130
|
-
if (!this._lastRunningTests.length) return;
|
131
|
-
const count = this._totalRunningTests === 1 ? '1 test' : `${this._totalRunningTests} tests`;
|
132
|
-
let lastMessage = '';
|
133
|
-
if (this._lastRunningTests.length < this._totalRunningTests) lastMessage = `, last ${this._lastRunningTests.length} tests were`;
|
134
|
-
const message = ['', '', _utilsBundle.colors.red(`Failed worker ran ${count}${lastMessage}:`), ...this._lastRunningTests.map(test => formatTestTitle(test, this._project.project.name))].join('\n');
|
135
|
-
if (error.message) {
|
136
|
-
if (error.stack) {
|
137
|
-
let index = error.stack.indexOf(error.message);
|
138
|
-
if (index !== -1) {
|
139
|
-
index += error.message.length;
|
140
|
-
error.stack = error.stack.substring(0, index) + message + error.stack.substring(index);
|
141
|
-
}
|
142
|
-
}
|
143
|
-
error.message += message;
|
144
|
-
} else if (error.value) {
|
145
|
-
error.value += message;
|
146
|
-
}
|
147
|
-
}
|
148
|
-
unhandledError(error) {
|
149
|
-
// No current test - fatal error.
|
150
|
-
if (!this._currentTest) {
|
151
|
-
if (!this._fatalErrors.length) this._fatalErrors.push((0, _util.serializeError)(error));
|
152
|
-
void this._stop();
|
153
|
-
return;
|
154
|
-
}
|
155
|
-
|
156
|
-
// We do not differentiate between errors in the control flow
|
157
|
-
// and unhandled errors - both lead to the test failing. This is good for regular tests,
|
158
|
-
// so that you can, e.g. expect() from inside an event handler. The test fails,
|
159
|
-
// and we restart the worker.
|
160
|
-
if (!this._currentTest._hasUnhandledError) {
|
161
|
-
this._currentTest._hasUnhandledError = true;
|
162
|
-
this._currentTest._failWithError(error);
|
163
|
-
}
|
164
|
-
|
165
|
-
// For tests marked with test.fail(), this might be a problem when unhandled error
|
166
|
-
// is not coming from the user test code (legit failure), but from fixtures or test runner.
|
167
|
-
//
|
168
|
-
// Ideally, we would mark this test as "failed unexpectedly" and show that in the report.
|
169
|
-
// However, we do not have such a special test status, so the test will be considered ok (failed as expected).
|
170
|
-
//
|
171
|
-
// To avoid messing up future tests, we forcefully stop the worker, unless it is
|
172
|
-
// an expect() error which we know does not mess things up.
|
173
|
-
const isExpectError = error instanceof Error && !!error.matcherResult;
|
174
|
-
const shouldContinueInThisWorker = this._currentTest.expectedStatus === 'failed' && isExpectError;
|
175
|
-
if (!shouldContinueInThisWorker) void this._stop();
|
176
|
-
}
|
177
|
-
async _loadIfNeeded() {
|
178
|
-
if (this._config) return;
|
179
|
-
this._config = await (0, _configLoader.deserializeConfig)(this._params.config);
|
180
|
-
this._project = this._config.projects.find(p => p.id === this._params.projectId);
|
181
|
-
this._poolBuilder = _poolBuilder.PoolBuilder.createForWorker(this._project);
|
182
|
-
}
|
183
|
-
async runTestGroup(runPayload) {
|
184
|
-
this._runFinished = new _utils.ManualPromise();
|
185
|
-
const entries = new Map(runPayload.entries.map(e => [e.testId, e]));
|
186
|
-
let fatalUnknownTestIds;
|
187
|
-
try {
|
188
|
-
await this._loadIfNeeded();
|
189
|
-
const fileSuite = await (0, _testLoader.loadTestFile)(runPayload.file, this._config.config.rootDir);
|
190
|
-
const suite = (0, _suiteUtils.bindFileSuiteToProject)(this._project, fileSuite);
|
191
|
-
if (this._params.repeatEachIndex) (0, _suiteUtils.applyRepeatEachIndex)(this._project, suite, this._params.repeatEachIndex);
|
192
|
-
const hasEntries = (0, _suiteUtils.filterTestsRemoveEmptySuites)(suite, test => entries.has(test.id));
|
193
|
-
if (hasEntries) {
|
194
|
-
this._poolBuilder.buildPools(suite);
|
195
|
-
this._activeSuites = new Map();
|
196
|
-
this._didRunFullCleanup = false;
|
197
|
-
const tests = suite.allTests();
|
198
|
-
for (let i = 0; i < tests.length; i++) {
|
199
|
-
// Do not run tests after full cleanup, because we are entirely done.
|
200
|
-
if (this._isStopped && this._didRunFullCleanup) break;
|
201
|
-
const entry = entries.get(tests[i].id);
|
202
|
-
entries.delete(tests[i].id);
|
203
|
-
(0, _util.debugTest)(`test started "${tests[i].title}"`);
|
204
|
-
await this._runTest(tests[i], entry.retry, tests[i + 1]);
|
205
|
-
(0, _util.debugTest)(`test finished "${tests[i].title}"`);
|
206
|
-
}
|
207
|
-
} else {
|
208
|
-
fatalUnknownTestIds = runPayload.entries.map(e => e.testId);
|
209
|
-
void this._stop();
|
210
|
-
}
|
211
|
-
} catch (e) {
|
212
|
-
// In theory, we should run above code without any errors.
|
213
|
-
// However, in the case we screwed up, or loadTestFile failed in the worker
|
214
|
-
// but not in the runner, let's do a fatal error.
|
215
|
-
this._fatalErrors.push((0, _util.serializeError)(e));
|
216
|
-
void this._stop();
|
217
|
-
} finally {
|
218
|
-
const donePayload = {
|
219
|
-
fatalErrors: this._fatalErrors,
|
220
|
-
skipTestsDueToSetupFailure: [],
|
221
|
-
fatalUnknownTestIds
|
222
|
-
};
|
223
|
-
for (const test of ((_this$_skipRemainingT = this._skipRemainingTestsInSuite) === null || _this$_skipRemainingT === void 0 ? void 0 : _this$_skipRemainingT.allTests()) || []) {
|
224
|
-
var _this$_skipRemainingT;
|
225
|
-
if (entries.has(test.id)) donePayload.skipTestsDueToSetupFailure.push(test.id);
|
226
|
-
}
|
227
|
-
this.dispatchEvent('done', donePayload);
|
228
|
-
this._fatalErrors = [];
|
229
|
-
this._skipRemainingTestsInSuite = undefined;
|
230
|
-
this._runFinished.resolve();
|
231
|
-
}
|
232
|
-
}
|
233
|
-
async _runTest(test, retry, nextTest) {
|
234
|
-
const testInfo = new _testInfo.TestInfoImpl(this._config, this._project, this._params, test, retry, stepBeginPayload => this.dispatchEvent('stepBegin', stepBeginPayload), stepEndPayload => this.dispatchEvent('stepEnd', stepEndPayload), attachment => this.dispatchEvent('attach', attachment));
|
235
|
-
const processAnnotation = annotation => {
|
236
|
-
testInfo.annotations.push(annotation);
|
237
|
-
switch (annotation.type) {
|
238
|
-
case 'fixme':
|
239
|
-
case 'skip':
|
240
|
-
testInfo.expectedStatus = 'skipped';
|
241
|
-
break;
|
242
|
-
case 'fail':
|
243
|
-
if (testInfo.expectedStatus !== 'skipped') testInfo.expectedStatus = 'failed';
|
244
|
-
break;
|
245
|
-
case 'slow':
|
246
|
-
testInfo._timeoutManager.slow();
|
247
|
-
break;
|
248
|
-
}
|
249
|
-
};
|
250
|
-
if (!this._isStopped) this._fixtureRunner.setPool(test._pool);
|
251
|
-
const suites = getSuites(test);
|
252
|
-
const reversedSuites = suites.slice().reverse();
|
253
|
-
const nextSuites = new Set(getSuites(nextTest));
|
254
|
-
testInfo._timeoutManager.setTimeout(test.timeout);
|
255
|
-
for (const annotation of test.annotations) processAnnotation(annotation);
|
256
|
-
|
257
|
-
// Process existing annotations dynamically set for parent suites.
|
258
|
-
for (const suite of suites) {
|
259
|
-
const extraAnnotations = this._activeSuites.get(suite) || [];
|
260
|
-
for (const annotation of extraAnnotations) processAnnotation(annotation);
|
261
|
-
}
|
262
|
-
this._currentTest = testInfo;
|
263
|
-
(0, _globals.setCurrentTestInfo)(testInfo);
|
264
|
-
this.dispatchEvent('testBegin', buildTestBeginPayload(testInfo));
|
265
|
-
const isSkipped = testInfo.expectedStatus === 'skipped';
|
266
|
-
const hasAfterAllToRunBeforeNextTest = reversedSuites.some(suite => {
|
267
|
-
return this._activeSuites.has(suite) && !nextSuites.has(suite) && suite._hooks.some(hook => hook.type === 'afterAll');
|
268
|
-
});
|
269
|
-
if (isSkipped && nextTest && !hasAfterAllToRunBeforeNextTest) {
|
270
|
-
// Fast path - this test is skipped, and there are more tests that will handle cleanup.
|
271
|
-
testInfo.status = 'skipped';
|
272
|
-
this.dispatchEvent('testEnd', buildTestEndPayload(testInfo));
|
273
|
-
return;
|
274
|
-
}
|
275
|
-
this._totalRunningTests++;
|
276
|
-
this._lastRunningTests.push(test);
|
277
|
-
if (this._lastRunningTests.length > 10) this._lastRunningTests.shift();
|
278
|
-
let shouldRunAfterEachHooks = false;
|
279
|
-
testInfo._allowSkips = true;
|
280
|
-
await testInfo._runAsStage({
|
281
|
-
title: 'setup and test'
|
282
|
-
}, async () => {
|
283
|
-
await testInfo._runAsStage({
|
284
|
-
title: 'start tracing',
|
285
|
-
runnable: {
|
286
|
-
type: 'test'
|
287
|
-
}
|
288
|
-
}, async () => {
|
289
|
-
// Ideally, "trace" would be an config-level option belonging to the
|
290
|
-
// test runner instead of a fixture belonging to Playwright.
|
291
|
-
// However, for backwards compatibility, we have to read it from a fixture today.
|
292
|
-
// We decided to not introduce the config-level option just yet.
|
293
|
-
const traceFixtureRegistration = test._pool.resolve('trace');
|
294
|
-
if (!traceFixtureRegistration) return;
|
295
|
-
if (typeof traceFixtureRegistration.fn === 'function') throw new Error(`"trace" option cannot be a function`);
|
296
|
-
await testInfo._tracing.startIfNeeded(traceFixtureRegistration.fn);
|
297
|
-
});
|
298
|
-
if (this._isStopped || isSkipped) {
|
299
|
-
// Two reasons to get here:
|
300
|
-
// - Last test is skipped, so we should not run the test, but run the cleanup.
|
301
|
-
// - Worker is requested to stop, but was not able to run full cleanup yet.
|
302
|
-
// We should skip the test, but run the cleanup.
|
303
|
-
testInfo.status = 'skipped';
|
304
|
-
return;
|
305
|
-
}
|
306
|
-
await (0, _utils.removeFolders)([testInfo.outputDir]);
|
307
|
-
let testFunctionParams = null;
|
308
|
-
await testInfo._runAsStage({
|
309
|
-
title: 'Before Hooks',
|
310
|
-
stepInfo: {
|
311
|
-
category: 'hook'
|
312
|
-
}
|
313
|
-
}, async () => {
|
314
|
-
// Run "beforeAll" hooks, unless already run during previous tests.
|
315
|
-
for (const suite of suites) await this._runBeforeAllHooksForSuite(suite, testInfo);
|
316
|
-
|
317
|
-
// Run "beforeEach" hooks. Once started with "beforeEach", we must run all "afterEach" hooks as well.
|
318
|
-
shouldRunAfterEachHooks = true;
|
319
|
-
await this._runEachHooksForSuites(suites, 'beforeEach', testInfo);
|
320
|
-
|
321
|
-
// Setup fixtures required by the test.
|
322
|
-
testFunctionParams = await this._fixtureRunner.resolveParametersForFunction(test.fn, testInfo, 'test', {
|
323
|
-
type: 'test'
|
324
|
-
});
|
325
|
-
});
|
326
|
-
if (testFunctionParams === null) {
|
327
|
-
// Fixture setup failed or was skipped, we should not run the test now.
|
328
|
-
return;
|
329
|
-
}
|
330
|
-
await testInfo._runAsStage({
|
331
|
-
title: 'test function',
|
332
|
-
runnable: {
|
333
|
-
type: 'test'
|
334
|
-
}
|
335
|
-
}, async () => {
|
336
|
-
// Now run the test itself.
|
337
|
-
const fn = test.fn; // Extract a variable to get a better stack trace ("myTest" vs "TestCase.myTest [as fn]").
|
338
|
-
await fn(testFunctionParams, testInfo);
|
339
|
-
});
|
340
|
-
}).catch(() => {}); // Ignore the top-level error, it is already inside TestInfo.errors.
|
341
|
-
|
342
|
-
// Update duration, so it is available in fixture teardown and afterEach hooks.
|
343
|
-
testInfo.duration = testInfo._timeoutManager.defaultSlot().elapsed | 0;
|
344
|
-
|
345
|
-
// No skips in after hooks.
|
346
|
-
testInfo._allowSkips = true;
|
347
|
-
|
348
|
-
// After hooks get an additional timeout.
|
349
|
-
const afterHooksTimeout = calculateMaxTimeout(this._project.project.timeout, testInfo.timeout);
|
350
|
-
const afterHooksSlot = {
|
351
|
-
timeout: afterHooksTimeout,
|
352
|
-
elapsed: 0
|
353
|
-
};
|
354
|
-
await testInfo._runAsStage({
|
355
|
-
title: 'After Hooks',
|
356
|
-
stepInfo: {
|
357
|
-
category: 'hook'
|
358
|
-
}
|
359
|
-
}, async () => {
|
360
|
-
let firstAfterHooksError;
|
361
|
-
try {
|
362
|
-
// Run "immediately upon test function finish" callback.
|
363
|
-
await testInfo._runAsStage({
|
364
|
-
title: 'on-test-function-finish',
|
365
|
-
runnable: {
|
366
|
-
type: 'test',
|
367
|
-
slot: afterHooksSlot
|
368
|
-
}
|
369
|
-
}, async () => {
|
370
|
-
var _testInfo$_onDidFinis;
|
371
|
-
return (_testInfo$_onDidFinis = testInfo._onDidFinishTestFunction) === null || _testInfo$_onDidFinis === void 0 ? void 0 : _testInfo$_onDidFinis.call(testInfo);
|
372
|
-
});
|
373
|
-
} catch (error) {
|
374
|
-
var _firstAfterHooksError;
|
375
|
-
firstAfterHooksError = (_firstAfterHooksError = firstAfterHooksError) !== null && _firstAfterHooksError !== void 0 ? _firstAfterHooksError : error;
|
376
|
-
}
|
377
|
-
try {
|
378
|
-
// Run "afterEach" hooks, unless we failed at beforeAll stage.
|
379
|
-
if (shouldRunAfterEachHooks) await this._runEachHooksForSuites(reversedSuites, 'afterEach', testInfo, afterHooksSlot);
|
380
|
-
} catch (error) {
|
381
|
-
var _firstAfterHooksError2;
|
382
|
-
firstAfterHooksError = (_firstAfterHooksError2 = firstAfterHooksError) !== null && _firstAfterHooksError2 !== void 0 ? _firstAfterHooksError2 : error;
|
383
|
-
}
|
384
|
-
try {
|
385
|
-
// Teardown test-scoped fixtures. Attribute to 'test' so that users understand
|
386
|
-
// they should probably increase the test timeout to fix this issue.
|
387
|
-
await this._fixtureRunner.teardownScope('test', testInfo, {
|
388
|
-
type: 'test',
|
389
|
-
slot: afterHooksSlot
|
390
|
-
});
|
391
|
-
} catch (error) {
|
392
|
-
var _firstAfterHooksError3;
|
393
|
-
firstAfterHooksError = (_firstAfterHooksError3 = firstAfterHooksError) !== null && _firstAfterHooksError3 !== void 0 ? _firstAfterHooksError3 : error;
|
394
|
-
}
|
395
|
-
|
396
|
-
// Run "afterAll" hooks for suites that are not shared with the next test.
|
397
|
-
// In case of failure the worker will be stopped and we have to make sure that afterAll
|
398
|
-
// hooks run before worker fixtures teardown.
|
399
|
-
for (const suite of reversedSuites) {
|
400
|
-
if (!nextSuites.has(suite) || testInfo._isFailure()) {
|
401
|
-
try {
|
402
|
-
await this._runAfterAllHooksForSuite(suite, testInfo);
|
403
|
-
} catch (error) {
|
404
|
-
var _firstAfterHooksError4;
|
405
|
-
// Continue running "afterAll" hooks even after some of them timeout.
|
406
|
-
firstAfterHooksError = (_firstAfterHooksError4 = firstAfterHooksError) !== null && _firstAfterHooksError4 !== void 0 ? _firstAfterHooksError4 : error;
|
407
|
-
}
|
408
|
-
}
|
409
|
-
}
|
410
|
-
if (firstAfterHooksError) throw firstAfterHooksError;
|
411
|
-
}).catch(() => {}); // Ignore the top-level error, it is already inside TestInfo.errors.
|
412
|
-
|
413
|
-
if (testInfo._isFailure()) this._isStopped = true;
|
414
|
-
if (this._isStopped) {
|
415
|
-
// Run all remaining "afterAll" hooks and teardown all fixtures when worker is shutting down.
|
416
|
-
// Mark as "cleaned up" early to avoid running cleanup twice.
|
417
|
-
this._didRunFullCleanup = true;
|
418
|
-
await testInfo._runAsStage({
|
419
|
-
title: 'Worker Cleanup',
|
420
|
-
stepInfo: {
|
421
|
-
category: 'hook'
|
422
|
-
}
|
423
|
-
}, async () => {
|
424
|
-
let firstWorkerCleanupError;
|
425
|
-
|
426
|
-
// Give it more time for the full cleanup.
|
427
|
-
const teardownSlot = {
|
428
|
-
timeout: this._project.project.timeout,
|
429
|
-
elapsed: 0
|
430
|
-
};
|
431
|
-
try {
|
432
|
-
// Attribute to 'test' so that users understand they should probably increate the test timeout to fix this issue.
|
433
|
-
await this._fixtureRunner.teardownScope('test', testInfo, {
|
434
|
-
type: 'test',
|
435
|
-
slot: teardownSlot
|
436
|
-
});
|
437
|
-
} catch (error) {
|
438
|
-
var _firstWorkerCleanupEr;
|
439
|
-
firstWorkerCleanupError = (_firstWorkerCleanupEr = firstWorkerCleanupError) !== null && _firstWorkerCleanupEr !== void 0 ? _firstWorkerCleanupEr : error;
|
440
|
-
}
|
441
|
-
for (const suite of reversedSuites) {
|
442
|
-
try {
|
443
|
-
await this._runAfterAllHooksForSuite(suite, testInfo);
|
444
|
-
} catch (error) {
|
445
|
-
var _firstWorkerCleanupEr2;
|
446
|
-
firstWorkerCleanupError = (_firstWorkerCleanupEr2 = firstWorkerCleanupError) !== null && _firstWorkerCleanupEr2 !== void 0 ? _firstWorkerCleanupEr2 : error;
|
447
|
-
}
|
448
|
-
}
|
449
|
-
try {
|
450
|
-
// Attribute to 'teardown' because worker fixtures are not perceived as a part of a test.
|
451
|
-
await this._fixtureRunner.teardownScope('worker', testInfo, {
|
452
|
-
type: 'teardown',
|
453
|
-
slot: teardownSlot
|
454
|
-
});
|
455
|
-
} catch (error) {
|
456
|
-
var _firstWorkerCleanupEr3;
|
457
|
-
firstWorkerCleanupError = (_firstWorkerCleanupEr3 = firstWorkerCleanupError) !== null && _firstWorkerCleanupEr3 !== void 0 ? _firstWorkerCleanupEr3 : error;
|
458
|
-
}
|
459
|
-
if (firstWorkerCleanupError) throw firstWorkerCleanupError;
|
460
|
-
}).catch(() => {}); // Ignore the top-level error, it is already inside TestInfo.errors.
|
461
|
-
}
|
462
|
-
const tracingSlot = {
|
463
|
-
timeout: this._project.project.timeout,
|
464
|
-
elapsed: 0
|
465
|
-
};
|
466
|
-
await testInfo._runAsStage({
|
467
|
-
title: 'stop tracing',
|
468
|
-
runnable: {
|
469
|
-
type: 'test',
|
470
|
-
slot: tracingSlot
|
471
|
-
}
|
472
|
-
}, async () => {
|
473
|
-
await testInfo._tracing.stopIfNeeded();
|
474
|
-
}).catch(() => {}); // Ignore the top-level error, it is already inside TestInfo.errors.
|
475
|
-
|
476
|
-
testInfo.duration = testInfo._timeoutManager.defaultSlot().elapsed + afterHooksSlot.elapsed | 0;
|
477
|
-
this._currentTest = null;
|
478
|
-
(0, _globals.setCurrentTestInfo)(null);
|
479
|
-
this.dispatchEvent('testEnd', buildTestEndPayload(testInfo));
|
480
|
-
const preserveOutput = this._config.config.preserveOutput === 'always' || this._config.config.preserveOutput === 'failures-only' && testInfo._isFailure();
|
481
|
-
if (!preserveOutput) await (0, _utils.removeFolders)([testInfo.outputDir]);
|
482
|
-
}
|
483
|
-
_collectHooksAndModifiers(suite, type, testInfo) {
|
484
|
-
const runnables = [];
|
485
|
-
for (const modifier of suite._modifiers) {
|
486
|
-
const modifierType = this._fixtureRunner.dependsOnWorkerFixturesOnly(modifier.fn, modifier.location) ? 'beforeAll' : 'beforeEach';
|
487
|
-
if (modifierType !== type) continue;
|
488
|
-
const fn = async fixtures => {
|
489
|
-
const result = await modifier.fn(fixtures);
|
490
|
-
testInfo[modifier.type](!!result, modifier.description);
|
491
|
-
};
|
492
|
-
(0, _fixtures.inheritFixtureNames)(modifier.fn, fn);
|
493
|
-
runnables.push({
|
494
|
-
title: `${modifier.type} modifier`,
|
495
|
-
location: modifier.location,
|
496
|
-
type: modifier.type,
|
497
|
-
fn
|
498
|
-
});
|
499
|
-
}
|
500
|
-
// Modifiers first, then hooks.
|
501
|
-
runnables.push(...suite._hooks.filter(hook => hook.type === type));
|
502
|
-
return runnables;
|
503
|
-
}
|
504
|
-
async _runBeforeAllHooksForSuite(suite, testInfo) {
|
505
|
-
if (this._activeSuites.has(suite)) return;
|
506
|
-
const extraAnnotations = [];
|
507
|
-
this._activeSuites.set(suite, extraAnnotations);
|
508
|
-
await this._runAllHooksForSuite(suite, testInfo, 'beforeAll', extraAnnotations);
|
509
|
-
}
|
510
|
-
async _runAllHooksForSuite(suite, testInfo, type, extraAnnotations) {
|
511
|
-
// Always run all the hooks, and capture the first error.
|
512
|
-
let firstError;
|
513
|
-
for (const hook of this._collectHooksAndModifiers(suite, type, testInfo)) {
|
514
|
-
try {
|
515
|
-
await testInfo._runAsStage({
|
516
|
-
title: hook.title,
|
517
|
-
stepInfo: {
|
518
|
-
category: 'hook',
|
519
|
-
location: hook.location
|
520
|
-
}
|
521
|
-
}, async () => {
|
522
|
-
// Separate time slot for each beforeAll/afterAll hook.
|
523
|
-
const timeSlot = {
|
524
|
-
timeout: this._project.project.timeout,
|
525
|
-
elapsed: 0
|
526
|
-
};
|
527
|
-
const runnable = {
|
528
|
-
type: hook.type,
|
529
|
-
slot: timeSlot,
|
530
|
-
location: hook.location
|
531
|
-
};
|
532
|
-
const existingAnnotations = new Set(testInfo.annotations);
|
533
|
-
try {
|
534
|
-
await this._fixtureRunner.resolveParametersAndRunFunction(hook.fn, testInfo, 'all-hooks-only', runnable);
|
535
|
-
} finally {
|
536
|
-
if (extraAnnotations) {
|
537
|
-
// Inherit all annotations defined in the beforeAll/modifer to all tests in the suite.
|
538
|
-
const newAnnotations = testInfo.annotations.filter(a => !existingAnnotations.has(a));
|
539
|
-
extraAnnotations.push(...newAnnotations);
|
540
|
-
}
|
541
|
-
// Each beforeAll/afterAll hook has its own scope for test fixtures. Attribute to the same runnable and timeSlot.
|
542
|
-
// Note: we must teardown even after hook fails, because we'll run more hooks.
|
543
|
-
await this._fixtureRunner.teardownScope('test', testInfo, runnable);
|
544
|
-
}
|
545
|
-
});
|
546
|
-
} catch (error) {
|
547
|
-
var _firstError;
|
548
|
-
firstError = (_firstError = firstError) !== null && _firstError !== void 0 ? _firstError : error;
|
549
|
-
// Skip in beforeAll/modifier prevents others from running.
|
550
|
-
if (type === 'beforeAll' && error instanceof _testInfo.SkipError) break;
|
551
|
-
if (type === 'beforeAll' && !this._skipRemainingTestsInSuite) {
|
552
|
-
// This will inform dispatcher that we should not run more tests from this group
|
553
|
-
// because we had a beforeAll error.
|
554
|
-
// This behavior avoids getting the same common error for each test.
|
555
|
-
this._skipRemainingTestsInSuite = suite;
|
556
|
-
}
|
557
|
-
}
|
558
|
-
}
|
559
|
-
if (firstError) throw firstError;
|
560
|
-
}
|
561
|
-
async _runAfterAllHooksForSuite(suite, testInfo) {
|
562
|
-
if (!this._activeSuites.has(suite)) return;
|
563
|
-
this._activeSuites.delete(suite);
|
564
|
-
await this._runAllHooksForSuite(suite, testInfo, 'afterAll');
|
565
|
-
}
|
566
|
-
async _runEachHooksForSuites(suites, type, testInfo, slot) {
|
567
|
-
// Always run all the hooks, unless one of the times out, and capture the first error.
|
568
|
-
let firstError;
|
569
|
-
const hooks = suites.map(suite => this._collectHooksAndModifiers(suite, type, testInfo)).flat();
|
570
|
-
for (const hook of hooks) {
|
571
|
-
const runnable = {
|
572
|
-
type: hook.type,
|
573
|
-
location: hook.location,
|
574
|
-
slot
|
575
|
-
};
|
576
|
-
if (testInfo._timeoutManager.isTimeExhaustedFor(runnable)) {
|
577
|
-
// Do not run hooks that will timeout right away.
|
578
|
-
continue;
|
579
|
-
}
|
580
|
-
try {
|
581
|
-
await testInfo._runAsStage({
|
582
|
-
title: hook.title,
|
583
|
-
stepInfo: {
|
584
|
-
category: 'hook',
|
585
|
-
location: hook.location
|
586
|
-
}
|
587
|
-
}, async () => {
|
588
|
-
await this._fixtureRunner.resolveParametersAndRunFunction(hook.fn, testInfo, 'test', runnable);
|
589
|
-
});
|
590
|
-
} catch (error) {
|
591
|
-
var _firstError2;
|
592
|
-
firstError = (_firstError2 = firstError) !== null && _firstError2 !== void 0 ? _firstError2 : error;
|
593
|
-
// Skip in modifier prevents others from running.
|
594
|
-
if (error instanceof _testInfo.SkipError) break;
|
595
|
-
}
|
596
|
-
}
|
597
|
-
if (firstError) throw firstError;
|
598
|
-
}
|
599
|
-
}
|
600
|
-
exports.WorkerMain = WorkerMain;
|
601
|
-
function buildTestBeginPayload(testInfo) {
|
602
|
-
return {
|
603
|
-
testId: testInfo.testId,
|
604
|
-
startWallTime: testInfo._startWallTime
|
605
|
-
};
|
606
|
-
}
|
607
|
-
function buildTestEndPayload(testInfo) {
|
608
|
-
return {
|
609
|
-
testId: testInfo.testId,
|
610
|
-
duration: testInfo.duration,
|
611
|
-
status: testInfo.status,
|
612
|
-
errors: testInfo.errors,
|
613
|
-
hasNonRetriableError: testInfo._hasNonRetriableError,
|
614
|
-
expectedStatus: testInfo.expectedStatus,
|
615
|
-
annotations: testInfo.annotations,
|
616
|
-
timeout: testInfo.timeout
|
617
|
-
};
|
618
|
-
}
|
619
|
-
function getSuites(test) {
|
620
|
-
const suites = [];
|
621
|
-
for (let suite = test === null || test === void 0 ? void 0 : test.parent; suite; suite = suite.parent) suites.push(suite);
|
622
|
-
suites.reverse(); // Put root suite first.
|
623
|
-
return suites;
|
624
|
-
}
|
625
|
-
function formatTestTitle(test, projectName) {
|
626
|
-
// file, ...describes, test
|
627
|
-
const [, ...titles] = test.titlePath();
|
628
|
-
const location = `${(0, _util.relativeFilePath)(test.location.file)}:${test.location.line}:${test.location.column}`;
|
629
|
-
const projectTitle = projectName ? `[${projectName}] › ` : '';
|
630
|
-
return `${projectTitle}${location} › ${titles.join(' › ')}`;
|
631
|
-
}
|
632
|
-
function calculateMaxTimeout(t1, t2) {
|
633
|
-
// Zero means "no timeout".
|
634
|
-
return !t1 || !t2 ? 0 : Math.max(t1, t2);
|
635
|
-
}
|
636
|
-
const create = params => new WorkerMain(params);
|
637
|
-
exports.create = create;
|
@@ -1 +0,0 @@
|
|
1
|
-
../../../playwright-core/cli.js
|