testplane 9.1.1 → 9.2.0
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.
- package/build/package.json +2 -2
- package/build/src/base-testplane.d.ts +17 -1
- package/build/src/base-testplane.js +43 -9
- package/build/src/base-testplane.js.map +1 -1
- package/build/src/browser/browser.d.ts +3 -0
- package/build/src/browser/browser.js +4 -2
- package/build/src/browser/browser.js.map +1 -1
- package/build/src/browser/cdp/selectivity/testplane-selectivity.js +19 -19
- package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
- package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +2 -2
- package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +2 -2
- package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +52 -84
- package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +4 -1
- package/build/src/browser/commands/assert-view/index.js +25 -2
- package/build/src/browser/commands/assert-view/index.js.map +1 -1
- package/build/src/browser/existing-browser.js +8 -1
- package/build/src/browser/existing-browser.js.map +1 -1
- package/build/src/browser/history/index.d.ts +4 -2
- package/build/src/browser/history/index.js +146 -67
- package/build/src/browser/history/index.js.map +1 -1
- package/build/src/browser/new-browser.js +1 -1
- package/build/src/browser/new-browser.js.map +1 -1
- package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +5 -0
- package/build/src/browser/screen-shooter/elements-screen-shooter.js +102 -55
- package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
- package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +4 -0
- package/build/src/browser/screen-shooter/viewport-screen-shooter.js +29 -7
- package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
- package/build/src/browser-pool/basic-pool.d.ts +4 -3
- package/build/src/browser-pool/basic-pool.js +39 -7
- package/build/src/browser-pool/basic-pool.js.map +1 -1
- package/build/src/browser-pool/caching-pool.d.ts +3 -2
- package/build/src/browser-pool/caching-pool.js +19 -7
- package/build/src/browser-pool/caching-pool.js.map +1 -1
- package/build/src/browser-pool/index.d.ts +2 -1
- package/build/src/browser-pool/index.js +8 -4
- package/build/src/browser-pool/index.js.map +1 -1
- package/build/src/browser-pool/limited-pool.d.ts +5 -1
- package/build/src/browser-pool/limited-pool.js +42 -4
- package/build/src/browser-pool/limited-pool.js.map +1 -1
- package/build/src/browser-pool/per-browser-limited-pool.d.ts +2 -2
- package/build/src/browser-pool/per-browser-limited-pool.js +2 -1
- package/build/src/browser-pool/per-browser-limited-pool.js.map +1 -1
- package/build/src/browser-pool/types.d.ts +8 -0
- package/build/src/cli/commands/config/index.js +7 -3
- package/build/src/cli/commands/config/index.js.map +1 -1
- package/build/src/cli/commands/install-deps/index.js +46 -38
- package/build/src/cli/commands/install-deps/index.js.map +1 -1
- package/build/src/cli/commands/list-browsers/index.js +15 -11
- package/build/src/cli/commands/list-browsers/index.js.map +1 -1
- package/build/src/cli/commands/list-tests/index.js +25 -21
- package/build/src/cli/commands/list-tests/index.js.map +1 -1
- package/build/src/cli/commands/selectivity-merge-dumps/index.js +12 -5
- package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -1
- package/build/src/cli/index.js +10 -6
- package/build/src/cli/index.js.map +1 -1
- package/build/src/config/defaults.d.ts +5 -0
- package/build/src/config/defaults.js +4 -0
- package/build/src/config/defaults.js.map +1 -1
- package/build/src/config/index.d.ts +6 -4
- package/build/src/config/index.js +60 -19
- package/build/src/config/index.js.map +1 -1
- package/build/src/config/options.js +26 -0
- package/build/src/config/options.js.map +1 -1
- package/build/src/config/types.d.ts +19 -0
- package/build/src/constants/process-messages.d.ts +3 -0
- package/build/src/constants/process-messages.js +4 -1
- package/build/src/constants/process-messages.js.map +1 -1
- package/build/src/events/async-emitter/index.d.ts +38 -0
- package/build/src/events/async-emitter/index.js +248 -5
- package/build/src/events/async-emitter/index.js.map +1 -1
- package/build/src/events/index.d.ts +3 -0
- package/build/src/events/index.js +1 -0
- package/build/src/events/index.js.map +1 -1
- package/build/src/index.d.ts +2 -1
- package/build/src/profiler/analysis/aggregator.d.ts +19 -0
- package/build/src/profiler/analysis/aggregator.js +229 -0
- package/build/src/profiler/analysis/aggregator.js.map +1 -0
- package/build/src/profiler/analysis/analyzers.d.ts +10 -0
- package/build/src/profiler/analysis/analyzers.js +1228 -0
- package/build/src/profiler/analysis/analyzers.js.map +1 -0
- package/build/src/profiler/analysis/compact.d.ts +5 -0
- package/build/src/profiler/analysis/compact.js +46 -0
- package/build/src/profiler/analysis/compact.js.map +1 -0
- package/build/src/profiler/analysis/finding-order.d.ts +4 -0
- package/build/src/profiler/analysis/finding-order.js +28 -0
- package/build/src/profiler/analysis/finding-order.js.map +1 -0
- package/build/src/profiler/analysis/outliers.d.ts +6 -0
- package/build/src/profiler/analysis/outliers.js +49 -0
- package/build/src/profiler/analysis/outliers.js.map +1 -0
- package/build/src/profiler/analysis/policy-v1.d.ts +71 -0
- package/build/src/profiler/analysis/policy-v1.js +43 -0
- package/build/src/profiler/analysis/policy-v1.js.map +1 -0
- package/build/src/profiler/collectors/module-graph.d.ts +14 -0
- package/build/src/profiler/collectors/module-graph.js +99 -0
- package/build/src/profiler/collectors/module-graph.js.map +1 -0
- package/build/src/profiler/collectors/pool-observer.d.ts +9 -0
- package/build/src/profiler/collectors/pool-observer.js +40 -0
- package/build/src/profiler/collectors/pool-observer.js.map +1 -0
- package/build/src/profiler/manager.d.ts +55 -0
- package/build/src/profiler/manager.js +343 -0
- package/build/src/profiler/manager.js.map +1 -0
- package/build/src/profiler/output/console.d.ts +6 -0
- package/build/src/profiler/output/console.js +443 -0
- package/build/src/profiler/output/console.js.map +1 -0
- package/build/src/profiler/output/json.d.ts +2 -0
- package/build/src/profiler/output/json.js +24 -0
- package/build/src/profiler/output/json.js.map +1 -0
- package/build/src/profiler/retention/operation-store.d.ts +22 -0
- package/build/src/profiler/retention/operation-store.js +110 -0
- package/build/src/profiler/retention/operation-store.js.map +1 -0
- package/build/src/profiler/retention/policy-v1.d.ts +22 -0
- package/build/src/profiler/retention/policy-v1.js +49 -0
- package/build/src/profiler/retention/policy-v1.js.map +1 -0
- package/build/src/profiler/retention/result-budget.d.ts +2 -0
- package/build/src/profiler/retention/result-budget.js +117 -0
- package/build/src/profiler/retention/result-budget.js.map +1 -0
- package/build/src/profiler/retention/serialized-budget.d.ts +5 -0
- package/build/src/profiler/retention/serialized-budget.js +58 -0
- package/build/src/profiler/retention/serialized-budget.js.map +1 -0
- package/build/src/profiler/retention/streaming-statistics.d.ts +38 -0
- package/build/src/profiler/retention/streaming-statistics.js +191 -0
- package/build/src/profiler/retention/streaming-statistics.js.map +1 -0
- package/build/src/profiler/retention/top-k.d.ts +13 -0
- package/build/src/profiler/retention/top-k.js +57 -0
- package/build/src/profiler/retention/top-k.js.map +1 -0
- package/build/src/profiler/runtime/async-activity.d.ts +19 -0
- package/build/src/profiler/runtime/async-activity.js +113 -0
- package/build/src/profiler/runtime/async-activity.js.map +1 -0
- package/build/src/profiler/runtime/bootstrap-probe.d.ts +42 -0
- package/build/src/profiler/runtime/bootstrap-probe.js +91 -0
- package/build/src/profiler/runtime/bootstrap-probe.js.map +1 -0
- package/build/src/profiler/runtime/clock.d.ts +22 -0
- package/build/src/profiler/runtime/clock.js +15 -0
- package/build/src/profiler/runtime/clock.js.map +1 -0
- package/build/src/profiler/runtime/event-observer.d.ts +4 -0
- package/build/src/profiler/runtime/event-observer.js +142 -0
- package/build/src/profiler/runtime/event-observer.js.map +1 -0
- package/build/src/profiler/runtime/noop.d.ts +20 -0
- package/build/src/profiler/runtime/noop.js +37 -0
- package/build/src/profiler/runtime/noop.js.map +1 -0
- package/build/src/profiler/runtime/runtime.d.ts +95 -0
- package/build/src/profiler/runtime/runtime.js +1343 -0
- package/build/src/profiler/runtime/runtime.js.map +1 -0
- package/build/src/profiler/runtime/types.d.ts +88 -0
- package/build/src/profiler/runtime/types.js +3 -0
- package/build/src/profiler/runtime/types.js.map +1 -0
- package/build/src/profiler/sanitize.d.ts +15 -0
- package/build/src/profiler/sanitize.js +194 -0
- package/build/src/profiler/sanitize.js.map +1 -0
- package/build/src/profiler/schema/index.d.ts +1 -0
- package/build/src/profiler/schema/index.js +18 -0
- package/build/src/profiler/schema/index.js.map +1 -0
- package/build/src/profiler/schema/v1.d.ts +281 -0
- package/build/src/profiler/schema/v1.js +3 -0
- package/build/src/profiler/schema/v1.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js +30 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js.map +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +31 -6
- package/build/src/runner/browser-env/vite/browser-modules/types.js +8 -8
- package/build/src/runner/browser-env/vite/browser-modules/types.js.map +1 -1
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.d.ts +7 -1
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +28 -6
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
- package/build/src/runner/browser-env/vite/server.js +17 -1
- package/build/src/runner/browser-env/vite/server.js.map +1 -1
- package/build/src/runner/browser-env/vite/socket.js +4 -0
- package/build/src/runner/browser-env/vite/socket.js.map +1 -1
- package/build/src/runner/browser-env/vite/types.d.ts +9 -7
- package/build/src/runner/browser-env/vite/types.js +8 -8
- package/build/src/runner/browser-env/vite/types.js.map +1 -1
- package/build/src/runner/browser-env/vite/utils.js +9 -2
- package/build/src/runner/browser-env/vite/utils.js.map +1 -1
- package/build/src/runner/browser-runner.d.ts +3 -1
- package/build/src/runner/browser-runner.js +4 -2
- package/build/src/runner/browser-runner.js.map +1 -1
- package/build/src/runner/index.d.ts +3 -1
- package/build/src/runner/index.js +7 -4
- package/build/src/runner/index.js.map +1 -1
- package/build/src/runner/test-runner/index.d.ts +2 -1
- package/build/src/runner/test-runner/index.js +2 -2
- package/build/src/runner/test-runner/index.js.map +1 -1
- package/build/src/runner/test-runner/insistant-test-runner.d.ts +2 -1
- package/build/src/runner/test-runner/insistant-test-runner.js +3 -2
- package/build/src/runner/test-runner/insistant-test-runner.js.map +1 -1
- package/build/src/runner/test-runner/regular-test-runner.d.ts +9 -3
- package/build/src/runner/test-runner/regular-test-runner.js +77 -16
- package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
- package/build/src/signal-handler.js +14 -5
- package/build/src/signal-handler.js.map +1 -1
- package/build/src/test-reader/index.d.ts +2 -1
- package/build/src/test-reader/index.js +19 -10
- package/build/src/test-reader/index.js.map +1 -1
- package/build/src/test-reader/mocha-reader/index.d.ts +2 -1
- package/build/src/test-reader/mocha-reader/index.js +41 -24
- package/build/src/test-reader/mocha-reader/index.js.map +1 -1
- package/build/src/test-reader/mocha-reader/tree-builder-decorator.js +2 -2
- package/build/src/test-reader/mocha-reader/tree-builder-decorator.js.map +1 -1
- package/build/src/test-reader/mocha-reader/utils.d.ts +2 -0
- package/build/src/test-reader/mocha-reader/utils.js +18 -2
- package/build/src/test-reader/mocha-reader/utils.js.map +1 -1
- package/build/src/test-reader/test-object/hook.d.ts +4 -2
- package/build/src/test-reader/test-object/hook.js +3 -1
- package/build/src/test-reader/test-object/hook.js.map +1 -1
- package/build/src/test-reader/test-parser.d.ts +2 -1
- package/build/src/test-reader/test-parser.js +48 -4
- package/build/src/test-reader/test-parser.js.map +1 -1
- package/build/src/testplane.d.ts +6 -2
- package/build/src/testplane.js +82 -27
- package/build/src/testplane.js.map +1 -1
- package/build/src/types/index.d.ts +4 -1
- package/build/src/types/index.js.map +1 -1
- package/build/src/utils/exit-code.d.ts +1 -0
- package/build/src/utils/exit-code.js +28 -0
- package/build/src/utils/exit-code.js.map +1 -0
- package/build/src/utils/module-observer-registry.d.ts +43 -0
- package/build/src/utils/module-observer-registry.js +257 -0
- package/build/src/utils/module-observer-registry.js.map +1 -0
- package/build/src/utils/processor.js +1 -0
- package/build/src/utils/processor.js.map +1 -1
- package/build/src/utils/workers-registry.d.ts +48 -1
- package/build/src/utils/workers-registry.js +162 -4
- package/build/src/utils/workers-registry.js.map +1 -1
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.js +15 -1
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.js.map +1 -1
- package/build/src/worker/browser-env/runner/test-runner/index.js +20 -0
- package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/index.js +39 -1
- package/build/src/worker/index.js.map +1 -1
- package/build/src/worker/runner/browser-pool.d.ts +3 -2
- package/build/src/worker/runner/browser-pool.js +5 -3
- package/build/src/worker/runner/browser-pool.js.map +1 -1
- package/build/src/worker/runner/caching-test-parser.d.ts +6 -1
- package/build/src/worker/runner/caching-test-parser.js +40 -4
- package/build/src/worker/runner/caching-test-parser.js.map +1 -1
- package/build/src/worker/runner/index.d.ts +10 -9
- package/build/src/worker/runner/index.js +52 -6
- package/build/src/worker/runner/index.js.map +1 -1
- package/build/src/worker/runner/sequence-test-parser.d.ts +4 -1
- package/build/src/worker/runner/sequence-test-parser.js +17 -3
- package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
- package/build/src/worker/runner/simple-test-parser.d.ts +3 -1
- package/build/src/worker/runner/simple-test-parser.js +4 -2
- package/build/src/worker/runner/simple-test-parser.js.map +1 -1
- package/build/src/worker/runner/test-runner/execution-thread.d.ts +20 -2
- package/build/src/worker/runner/test-runner/execution-thread.js +37 -2
- package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
- package/build/src/worker/runner/test-runner/hook-runner.d.ts +1 -1
- package/build/src/worker/runner/test-runner/hook-runner.js +4 -4
- package/build/src/worker/runner/test-runner/hook-runner.js.map +1 -1
- package/build/src/worker/runner/test-runner/index.d.ts +8 -7
- package/build/src/worker/runner/test-runner/index.js +36 -25
- package/build/src/worker/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/runner/test-runner/types.d.ts +8 -1
- package/build/src/worker/testplane-facade.js +63 -4
- package/build/src/worker/testplane-facade.js.map +1 -1
- package/build/src/worker/testplane.d.ts +6 -0
- package/build/src/worker/testplane.js +7 -1
- package/build/src/worker/testplane.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,19 +7,20 @@ const { MasterEvents } = require("../../events");
|
|
|
7
7
|
const { passthroughEvent } = require("../../events/utils");
|
|
8
8
|
const { NoRefImageError } = require("../../browser/commands/assert-view/errors/no-ref-image-error");
|
|
9
9
|
module.exports = class InsistantTestRunner extends RunnableEmitter {
|
|
10
|
-
constructor(test, config, browserAgent) {
|
|
10
|
+
constructor(test, config, browserAgent, profiler) {
|
|
11
11
|
super();
|
|
12
12
|
this._test = test;
|
|
13
13
|
this._config = config;
|
|
14
14
|
this._browserConfig = config.forBrowser(browserAgent.browserId);
|
|
15
15
|
this._browserAgent = browserAgent;
|
|
16
|
+
this._profiler = profiler;
|
|
16
17
|
this._retriesPerformed = 0;
|
|
17
18
|
this._cancelled = false;
|
|
18
19
|
}
|
|
19
20
|
async run(workers) {
|
|
20
21
|
let retry = false;
|
|
21
22
|
const browserAgent = this._retriesPerformed > 0 ? HighPriorityBrowserAgent.create(this._browserAgent) : this._browserAgent;
|
|
22
|
-
const runner = RegularTestRunner.create(this._test, browserAgent).on(MasterEvents.TEST_FAIL, data => {
|
|
23
|
+
const runner = RegularTestRunner.create(this._test, browserAgent, this._profiler).on(MasterEvents.TEST_FAIL, data => {
|
|
23
24
|
if (this._shouldRetry(data)) {
|
|
24
25
|
this.emit(MasterEvents.RETRY, _.extend(data, { retriesLeft: this._retriesLeft }));
|
|
25
26
|
retry = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insistant-test-runner.js","sourceRoot":"","sources":["../../../../src/runner/test-runner/insistant-test-runner.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5B,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAChD,MAAM,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAC3D,MAAM,wBAAwB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC1E,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACjD,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,8DAA8D,CAAC,CAAC;AAEpG,MAAM,CAAC,OAAO,GAAG,MAAM,mBAAoB,SAAQ,eAAe;IAC9D,YAAY,IAAI,EAAE,MAAM,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"insistant-test-runner.js","sourceRoot":"","sources":["../../../../src/runner/test-runner/insistant-test-runner.js"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
export = RegularTestRunner;
|
|
2
2
|
declare class RegularTestRunner extends RunnableEmitter {
|
|
3
|
-
constructor(test: any, browserAgent: any);
|
|
3
|
+
constructor(test: any, browserAgent: any, profiler: any);
|
|
4
4
|
_test: any;
|
|
5
5
|
_browserAgent: any;
|
|
6
6
|
_browser: any;
|
|
7
|
-
|
|
7
|
+
_profiler: any;
|
|
8
|
+
_profilerSanitizer: ProfilerSanitizer | null;
|
|
9
|
+
run(workers: any, retriesPerformed: any): Promise<any>;
|
|
10
|
+
_run(workers: any, retriesPerformed: any, attemptId: any): Promise<void>;
|
|
8
11
|
_emit(event: any): void;
|
|
9
|
-
_runTest(workers: any, attempt: any): Promise<any>;
|
|
12
|
+
_runTest(workers: any, attempt: any, attemptId: any, profileSessionId: any): Promise<any>;
|
|
13
|
+
_ingestProfileFragment(container: any): void;
|
|
10
14
|
_applyTestResults({ tags, meta, testplaneCtx, history }: {
|
|
11
15
|
tags: any;
|
|
12
16
|
meta: any;
|
|
@@ -14,8 +18,10 @@ declare class RegularTestRunner extends RunnableEmitter {
|
|
|
14
18
|
history?: any[] | undefined;
|
|
15
19
|
}): void;
|
|
16
20
|
_getTraceparent(): string;
|
|
21
|
+
_profileSessionId(sessionId: any): string | undefined;
|
|
17
22
|
_getBrowser(): Promise<any>;
|
|
18
23
|
_freeBrowser(browserState?: {}): Promise<void>;
|
|
19
24
|
_logKeepBrowserInfo(): void;
|
|
20
25
|
}
|
|
21
26
|
import { RunnableEmitter } from "../types";
|
|
27
|
+
import { ProfilerSanitizer } from "../../profiler/sanitize";
|
|
@@ -6,17 +6,44 @@ const logger = require("../../utils/logger");
|
|
|
6
6
|
const { MasterEvents } = require("../../events");
|
|
7
7
|
const AssertViewResults = require("../../browser/commands/assert-view/assert-view-results");
|
|
8
8
|
const RuntimeConfig = require("../../config/runtime-config");
|
|
9
|
+
const { noopProfilerRuntime } = require("../../profiler/runtime/noop");
|
|
10
|
+
const { ProfilerSanitizer } = require("../../profiler/sanitize");
|
|
9
11
|
module.exports = class RegularTestRunner extends RunnableEmitter {
|
|
10
|
-
constructor(test, browserAgent) {
|
|
12
|
+
constructor(test, browserAgent, profiler) {
|
|
11
13
|
super();
|
|
12
14
|
this._test = test.clone();
|
|
13
15
|
this._browserAgent = browserAgent;
|
|
14
16
|
this._browser = null;
|
|
17
|
+
this._profiler = profiler || noopProfilerRuntime;
|
|
18
|
+
this._profilerSanitizer = this._profiler.isEnabled(2) ? new ProfilerSanitizer() : null;
|
|
15
19
|
}
|
|
16
20
|
async run(workers, retriesPerformed) {
|
|
21
|
+
if (!this._profiler.isEnabled(2)) {
|
|
22
|
+
return this._run(workers, retriesPerformed);
|
|
23
|
+
}
|
|
24
|
+
const attemptId = crypto.randomUUID();
|
|
25
|
+
const context = {
|
|
26
|
+
attemptId,
|
|
27
|
+
attempt: retriesPerformed,
|
|
28
|
+
testId: this._test.id,
|
|
29
|
+
browserId: this._browserAgent.browserId,
|
|
30
|
+
runnableKind: "test",
|
|
31
|
+
};
|
|
32
|
+
return this._profiler.withContext(context, () => this._profiler.withSpan("test.attempt", {
|
|
33
|
+
minLevel: 2,
|
|
34
|
+
name: this._test.fullTitle(),
|
|
35
|
+
context,
|
|
36
|
+
attributes: {
|
|
37
|
+
file: this._profilerSanitizer?.path(this._test.file) ?? this._test.file,
|
|
38
|
+
browserId: this._browserAgent.browserId,
|
|
39
|
+
attempt: retriesPerformed,
|
|
40
|
+
},
|
|
41
|
+
}, () => this._run(workers, retriesPerformed, attemptId)));
|
|
42
|
+
}
|
|
43
|
+
async _run(workers, retriesPerformed, attemptId) {
|
|
17
44
|
let freeBrowserPromise;
|
|
18
45
|
try {
|
|
19
|
-
const browser = await this._getBrowser();
|
|
46
|
+
const browser = await this._profiler.withSpan("browser.session.acquire", { minLevel: 2, name: this._browserAgent.browserId }, () => this._getBrowser());
|
|
20
47
|
if (browser) {
|
|
21
48
|
workers.once(`worker.${browser.sessionId}.freeBrowser`, browserState => {
|
|
22
49
|
freeBrowserPromise = this._freeBrowser(browserState);
|
|
@@ -24,8 +51,9 @@ module.exports = class RegularTestRunner extends RunnableEmitter {
|
|
|
24
51
|
}
|
|
25
52
|
this._emit(MasterEvents.TEST_BEGIN);
|
|
26
53
|
this._test.startTime = Date.now();
|
|
27
|
-
const
|
|
28
|
-
this.
|
|
54
|
+
const sessionId = this._profileSessionId(browser?.sessionId);
|
|
55
|
+
const results = await this._profiler.withContext(sessionId ? { sessionId } : {}, () => this._profiler.withSpan("worker.execution", { minLevel: 2, name: this._test.fullTitle() }, () => this._runTest(workers, retriesPerformed, attemptId, sessionId)));
|
|
56
|
+
this._profiler.withSpan("test.result-processing", { minLevel: 2, name: this._test.fullTitle() }, () => this._applyTestResults(results));
|
|
29
57
|
this._emit(MasterEvents.TEST_PASS);
|
|
30
58
|
}
|
|
31
59
|
catch (error) {
|
|
@@ -34,25 +62,48 @@ module.exports = class RegularTestRunner extends RunnableEmitter {
|
|
|
34
62
|
this._emit(MasterEvents.TEST_FAIL);
|
|
35
63
|
}
|
|
36
64
|
this._emit(MasterEvents.TEST_END);
|
|
37
|
-
await (freeBrowserPromise || this._freeBrowser());
|
|
65
|
+
await this._profiler.withSpan("browser.session.release", { minLevel: 2, name: this._browserAgent.browserId }, () => freeBrowserPromise || this._freeBrowser());
|
|
38
66
|
}
|
|
39
67
|
_emit(event) {
|
|
40
68
|
this.emit(event, this._test);
|
|
41
69
|
}
|
|
42
|
-
async _runTest(workers, attempt) {
|
|
70
|
+
async _runTest(workers, attempt, attemptId, profileSessionId) {
|
|
43
71
|
if (!this._browser) {
|
|
44
72
|
throw this._test.err;
|
|
45
73
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
74
|
+
try {
|
|
75
|
+
const result = await workers.runTest(this._test.fullTitle(), {
|
|
76
|
+
browserId: this._browser.id,
|
|
77
|
+
browserVersion: this._browser.version,
|
|
78
|
+
sessionId: this._browser.sessionId,
|
|
79
|
+
sessionCaps: this._browser.capabilities,
|
|
80
|
+
sessionOpts: this._browser.publicAPI.options,
|
|
81
|
+
file: this._test.file,
|
|
82
|
+
state: this._browser.state,
|
|
83
|
+
attempt,
|
|
84
|
+
...(attemptId && { attemptId }),
|
|
85
|
+
...(profileSessionId && { profileSessionId }),
|
|
86
|
+
});
|
|
87
|
+
this._ingestProfileFragment(result);
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
this._ingestProfileFragment(error);
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
_ingestProfileFragment(container) {
|
|
96
|
+
const fragment = container && container.profileFragment;
|
|
97
|
+
if (!fragment) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
this._profiler.ingestFragment(fragment);
|
|
101
|
+
try {
|
|
102
|
+
delete container.profileFragment;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// The fragment is internal; a frozen worker error can safely keep it until serialization ends.
|
|
106
|
+
}
|
|
56
107
|
}
|
|
57
108
|
_applyTestResults({ tags, meta, testplaneCtx = {}, history = [] }) {
|
|
58
109
|
testplaneCtx.assertViewResults = AssertViewResults.fromRawObject(testplaneCtx.assertViewResults || []);
|
|
@@ -73,6 +124,16 @@ module.exports = class RegularTestRunner extends RunnableEmitter {
|
|
|
73
124
|
const traceFlag = "01";
|
|
74
125
|
return `${version}-${traceId}-${parentId}-${traceFlag}`;
|
|
75
126
|
}
|
|
127
|
+
_profileSessionId(sessionId) {
|
|
128
|
+
if (!this._profiler.isEnabled(2) || typeof sessionId !== "string") {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
return `session-${crypto
|
|
132
|
+
.createHash("sha256")
|
|
133
|
+
.update(`${this._profiler.runId}\0${sessionId}`)
|
|
134
|
+
.digest("hex")
|
|
135
|
+
.slice(0, 12)}`;
|
|
136
|
+
}
|
|
76
137
|
async _getBrowser() {
|
|
77
138
|
try {
|
|
78
139
|
const state = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regular-test-runner.js","sourceRoot":"","sources":["../../../../src/runner/test-runner/regular-test-runner.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAChD,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC7C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACjD,MAAM,iBAAiB,GAAG,OAAO,CAAC,wDAAwD,CAAC,CAAC;AAC5F,MAAM,aAAa,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"regular-test-runner.js","sourceRoot":"","sources":["../../../../src/runner/test-runner/regular-test-runner.js"],"names":[],"mappings":"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"}
|
|
@@ -17,16 +17,25 @@ function notifyAndExit(signalNo) {
|
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
19
|
lastCallTime = time;
|
|
20
|
+
process.exitCode = exitCode;
|
|
20
21
|
if (callCount++ > 0) {
|
|
21
22
|
(0, logger_1.log)("Force quit.");
|
|
22
23
|
process.exit(exitCode);
|
|
23
24
|
}
|
|
24
25
|
const err = new Error(`The process was terminated by a signal: ${signal}`);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
26
|
+
(async () => {
|
|
27
|
+
try {
|
|
28
|
+
await signalHandler.emitAndWait(events_2.MasterEvents.EXIT, err);
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
try {
|
|
32
|
+
await signalHandler.emitAndWait(events_2.MasterEvents.RUNNER_END, err);
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
process.exit(exitCode);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
})().catch(() => undefined);
|
|
30
39
|
};
|
|
31
40
|
}
|
|
32
41
|
process.on("SIGHUP", notifyAndExit(1));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal-handler.js","sourceRoot":"","sources":["../../src/signal-handler.ts"],"names":[],"mappings":";;AAAA,qCAAwC;AACxC,2CAAqC;AACrC,qCAAwC;AAExC,MAAM,aAAa,GAAG,IAAI,qBAAY,EAAE,CAAC;AAEzC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,SAAS,aAAa,CAAC,QAAgB;IACnC,MAAM,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;IAEhC,OAAO,UAAU,MAAsB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAExB,IAAI,IAAI,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC;YACrC,YAAY,GAAG,IAAI,CAAC;YAEpB,OAAO;QACX,CAAC;QAED,YAAY,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"signal-handler.js","sourceRoot":"","sources":["../../src/signal-handler.ts"],"names":[],"mappings":";;AAAA,qCAAwC;AACxC,2CAAqC;AACrC,qCAAwC;AAExC,MAAM,aAAa,GAAG,IAAI,qBAAY,EAAE,CAAC;AAEzC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,SAAS,aAAa,CAAC,QAAgB;IACnC,MAAM,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;IAEhC,OAAO,UAAU,MAAsB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAExB,IAAI,IAAI,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC;YACrC,YAAY,GAAG,IAAI,CAAC;YAEpB,OAAO;QACX,CAAC;QAED,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE5B,IAAI,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;YAClB,IAAA,YAAG,EAAC,aAAa,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAC;QAE3E,CAAC,KAAK,IAAmB,EAAE;YACvB,IAAI,CAAC;gBACD,MAAM,aAAa,CAAC,WAAW,CAAC,qBAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5D,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC;oBACD,MAAM,aAAa,CAAC,WAAW,CAAC,qBAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAClE,CAAC;wBAAS,CAAC;oBACP,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;QACL,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAEzC,kBAAe,aAAa,CAAC"}
|
|
@@ -3,12 +3,13 @@ import { EventEmitter } from "events";
|
|
|
3
3
|
import type { Config } from "../config";
|
|
4
4
|
import type { Test } from "./test-object";
|
|
5
5
|
import type { ReadTestsOpts } from "../testplane";
|
|
6
|
+
import type { ProfilerRuntimeLike } from "../profiler/runtime/types";
|
|
6
7
|
export type TestReaderOpts = {
|
|
7
8
|
paths: string[];
|
|
8
9
|
} & Partial<ReadTestsOpts>;
|
|
9
10
|
export declare class TestReader extends EventEmitter {
|
|
10
11
|
#private;
|
|
11
12
|
static create<T extends TestReader>(this: new (...args: any[]) => T, ...args: ConstructorParameters<typeof TestReader>): T;
|
|
12
|
-
constructor(config: Config);
|
|
13
|
+
constructor(config: Config, profiler?: ProfilerRuntimeLike);
|
|
13
14
|
read(options: TestReaderOpts): Promise<Record<string, Test[]>>;
|
|
14
15
|
}
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
|
-
var _TestReader_config;
|
|
16
|
+
var _TestReader_config, _TestReader_profiler;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.TestReader = void 0;
|
|
19
19
|
const lodash_1 = __importDefault(require("lodash"));
|
|
@@ -23,35 +23,44 @@ const sets_builder_1 = require("./sets-builder");
|
|
|
23
23
|
const test_parser_1 = require("./test-parser");
|
|
24
24
|
const events_2 = require("../events");
|
|
25
25
|
const env_1 = __importDefault(require("../utils/env"));
|
|
26
|
+
const noop_1 = require("../profiler/runtime/noop");
|
|
26
27
|
class TestReader extends events_1.EventEmitter {
|
|
27
28
|
static create(...args) {
|
|
28
29
|
return new this(...args);
|
|
29
30
|
}
|
|
30
|
-
constructor(config) {
|
|
31
|
+
constructor(config, profiler = noop_1.noopProfilerRuntime) {
|
|
31
32
|
super();
|
|
32
33
|
_TestReader_config.set(this, void 0);
|
|
34
|
+
_TestReader_profiler.set(this, void 0);
|
|
33
35
|
__classPrivateFieldSet(this, _TestReader_config, config, "f");
|
|
36
|
+
__classPrivateFieldSet(this, _TestReader_profiler, profiler, "f");
|
|
34
37
|
}
|
|
35
38
|
async read(options) {
|
|
36
39
|
const { paths, browsers, ignore, sets, grep, tag, runnableOpts } = options;
|
|
37
40
|
const { fileExtensions } = __classPrivateFieldGet(this, _TestReader_config, "f").system;
|
|
38
41
|
const envSets = env_1.default.parseCommaSeparatedValue(["TESTPLANE_SETS", "HERMIONE_SETS"]).value;
|
|
39
|
-
const setCollection = await sets_builder_1.SetsBuilder.create(__classPrivateFieldGet(this, _TestReader_config, "f").sets, { defaultPaths: ["testplane", "hermione"] })
|
|
42
|
+
const setCollection = await __classPrivateFieldGet(this, _TestReader_profiler, "f").withSpan("sets.resolve-and-glob", { minLevel: 1, name: "Resolve sets and find test files" }, () => sets_builder_1.SetsBuilder.create(__classPrivateFieldGet(this, _TestReader_config, "f").sets, { defaultPaths: ["testplane", "hermione"] })
|
|
40
43
|
.useFiles(paths)
|
|
41
44
|
.useSets((sets || []).concat(envSets))
|
|
42
45
|
.useBrowsers(browsers)
|
|
43
|
-
.build(process.cwd(), { ignore }, fileExtensions);
|
|
44
|
-
const parser = new test_parser_1.TestParser();
|
|
46
|
+
.build(process.cwd(), { ignore }, fileExtensions));
|
|
47
|
+
const parser = new test_parser_1.TestParser(__classPrivateFieldGet(this, _TestReader_profiler, "f"));
|
|
45
48
|
(0, utils_1.passthroughEvent)(parser, this, [events_2.MasterEvents.BEFORE_FILE_READ, events_2.MasterEvents.AFTER_FILE_READ]);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
|
|
49
|
+
const testFiles = setCollection.getAllFiles();
|
|
50
|
+
await __classPrivateFieldGet(this, _TestReader_profiler, "f").withSpan("files.load", { minLevel: 1, name: "Load test files", attributes: { files: testFiles.length } }, () => parser.loadFiles(testFiles, { config: __classPrivateFieldGet(this, _TestReader_config, "f"), runnableOpts }));
|
|
51
|
+
const filesByBro = __classPrivateFieldGet(this, _TestReader_profiler, "f").withSpan("files.group-by-browser", { minLevel: 1, name: "Group test files by browser" }, () => setCollection.groupByBrowser());
|
|
52
|
+
const testsByBro = lodash_1.default.mapValues(filesByBro, (files, browserId) => __classPrivateFieldGet(this, _TestReader_profiler, "f").withSpan("tests.parse", {
|
|
53
|
+
minLevel: 1,
|
|
54
|
+
name: browserId,
|
|
55
|
+
context: { browserId },
|
|
56
|
+
attributes: { browserId, files: files.length },
|
|
57
|
+
}, () => parser.parse(files, { browserId, config: __classPrivateFieldGet(this, _TestReader_config, "f").forBrowser(browserId), grep, tag })));
|
|
58
|
+
__classPrivateFieldGet(this, _TestReader_profiler, "f").withSpan("tests.validate", { minLevel: 1, name: "Validate tests" }, () => validateTests(testsByBro, options, __classPrivateFieldGet(this, _TestReader_config, "f")));
|
|
50
59
|
return testsByBro;
|
|
51
60
|
}
|
|
52
61
|
}
|
|
53
62
|
exports.TestReader = TestReader;
|
|
54
|
-
_TestReader_config = new WeakMap();
|
|
63
|
+
_TestReader_config = new WeakMap(), _TestReader_profiler = new WeakMap();
|
|
55
64
|
function validateTests(testsByBro, options, config) {
|
|
56
65
|
const tests = lodash_1.default.flatten(Object.values(testsByBro));
|
|
57
66
|
const singleTestModes = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test-reader/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,mCAAsC;AACtC,2CAAmD;AACnD,iDAA6C;AAC7C,+CAA2C;AAC3C,sCAAyC;AACzC,uDAA+B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test-reader/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export function readFiles(files: any, { esmDecorator, config, eventBus, runnableOpts, isBrowserEnv }: {
|
|
1
|
+
export function readFiles(files: any, { esmDecorator, config, eventBus, runnableOpts, isBrowserEnv, fileObserver }: {
|
|
2
2
|
esmDecorator: any;
|
|
3
3
|
config: any;
|
|
4
4
|
eventBus: any;
|
|
5
5
|
runnableOpts: any;
|
|
6
6
|
isBrowserEnv?: boolean | undefined;
|
|
7
|
+
fileObserver: any;
|
|
7
8
|
}): Promise<void>;
|
|
@@ -27,7 +27,7 @@ function getTagParser(original) {
|
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
async function readFiles(files, { esmDecorator, config, eventBus, runnableOpts, isBrowserEnv = false }) {
|
|
30
|
+
async function readFiles(files, { esmDecorator, config, eventBus, runnableOpts, isBrowserEnv = false, fileObserver }) {
|
|
31
31
|
const mocha = new Mocha(config);
|
|
32
32
|
mocha.suite.on("pre-require", context => {
|
|
33
33
|
const originalDescribe = context.describe;
|
|
@@ -43,7 +43,7 @@ async function readFiles(files, { esmDecorator, config, eventBus, runnableOpts,
|
|
|
43
43
|
});
|
|
44
44
|
mocha.fullTrace();
|
|
45
45
|
initBuildContext(eventBus);
|
|
46
|
-
initEventListeners({ rootSuite: mocha.suite, outBus: eventBus, config, runnableOpts });
|
|
46
|
+
initEventListeners({ rootSuite: mocha.suite, outBus: eventBus, config, runnableOpts, fileObserver });
|
|
47
47
|
files.forEach(f => mocha.addFile(f));
|
|
48
48
|
try {
|
|
49
49
|
await mocha.loadFilesAsync({ esmDecorator });
|
|
@@ -64,10 +64,10 @@ function initBuildContext(outBus) {
|
|
|
64
64
|
ctx.treeBuilder = TreeBuilderDecorator.create(ctx.treeBuilder);
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
-
function initEventListeners({ rootSuite, outBus, config, runnableOpts }) {
|
|
67
|
+
function initEventListeners({ rootSuite, outBus, config, runnableOpts, fileObserver }) {
|
|
68
68
|
const inBus = MochaEventBus.create(rootSuite);
|
|
69
69
|
forbidSuiteHooks(inBus);
|
|
70
|
-
passthroughFileEvents(inBus, outBus);
|
|
70
|
+
passthroughFileEvents(inBus, outBus, fileObserver);
|
|
71
71
|
addLocationToRunnables(inBus, config, runnableOpts);
|
|
72
72
|
registerTestObjects(inBus, outBus);
|
|
73
73
|
inBus.emit(MochaEventBus.events.EVENT_SUITE_ADD_SUITE, rootSuite);
|
|
@@ -79,12 +79,14 @@ function forbidSuiteHooks(bus) {
|
|
|
79
79
|
});
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
-
function passthroughFileEvents(inBus, outBus) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
function passthroughFileEvents(inBus, outBus, fileObserver) {
|
|
83
|
+
inBus.on(MochaEventBus.events.EVENT_FILE_PRE_REQUIRE, (ctx, file) => {
|
|
84
|
+
fileObserver?.start(file);
|
|
85
|
+
outBus.emit(MasterEvents.BEFORE_FILE_READ, { file });
|
|
86
|
+
});
|
|
87
|
+
inBus.on(MochaEventBus.events.EVENT_FILE_POST_REQUIRE, (ctx, file) => {
|
|
88
|
+
outBus.emit(MasterEvents.AFTER_FILE_READ, { file });
|
|
89
|
+
fileObserver?.end(file);
|
|
88
90
|
});
|
|
89
91
|
}
|
|
90
92
|
function registerTestObjects(inBus, outBus) {
|
|
@@ -120,30 +122,45 @@ function applyOnly(rootSuite, eventBus) {
|
|
|
120
122
|
});
|
|
121
123
|
}
|
|
122
124
|
function addLocationToRunnables(inBus, config, runnableOpts) {
|
|
123
|
-
if (!runnableOpts
|
|
125
|
+
if (!runnableOpts?.saveLocations && !runnableOpts?.saveHookLocations) {
|
|
124
126
|
return;
|
|
125
127
|
}
|
|
126
128
|
enableSourceMaps();
|
|
127
129
|
const sourceMapSupport = tryToRequireSourceMapSupport();
|
|
128
|
-
const { suiteMethods, testMethods } = getMethodsByInterface(config.ui);
|
|
130
|
+
const { suiteMethods, testMethods, beforeEachMethods = [], afterEachMethods = [], } = getMethodsByInterface(config.ui);
|
|
129
131
|
inBus.on(MochaEventBus.events.EVENT_FILE_PRE_REQUIRE, ctx => {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
132
|
+
const runnableMethods = runnableOpts.saveLocations
|
|
133
|
+
? [
|
|
134
|
+
{
|
|
135
|
+
methods: suiteMethods,
|
|
136
|
+
eventName: MochaEventBus.events.EVENT_SUITE_ADD_SUITE,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
methods: testMethods,
|
|
140
|
+
eventName: MochaEventBus.events.EVENT_SUITE_ADD_TEST,
|
|
141
|
+
},
|
|
142
|
+
]
|
|
143
|
+
: [];
|
|
144
|
+
const hookMethods = runnableOpts.saveHookLocations
|
|
145
|
+
? [
|
|
146
|
+
{
|
|
147
|
+
methods: beforeEachMethods,
|
|
148
|
+
eventName: MochaEventBus.events.EVENT_SUITE_ADD_HOOK_BEFORE_EACH,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
methods: afterEachMethods,
|
|
152
|
+
eventName: MochaEventBus.events.EVENT_SUITE_ADD_HOOK_AFTER_EACH,
|
|
153
|
+
},
|
|
154
|
+
]
|
|
155
|
+
: [];
|
|
156
|
+
[...runnableMethods, ...hookMethods].forEach(({ methods, eventName }) => {
|
|
140
157
|
methods.forEach(methodName => {
|
|
141
158
|
ctx[methodName] = withLocation(ctx[methodName], { inBus, eventName, sourceMapSupport });
|
|
142
|
-
if (ctx[methodName]) {
|
|
159
|
+
if (runnableOpts.saveLocations && ctx[methodName]) {
|
|
143
160
|
ctx[methodName].only = withLocation(ctx[methodName].only, { inBus, eventName, sourceMapSupport });
|
|
144
161
|
ctx[methodName].skip = withLocation(ctx[methodName].skip, { inBus, eventName, sourceMapSupport });
|
|
145
162
|
}
|
|
146
|
-
if (!config.ui || config.ui === "bdd") {
|
|
163
|
+
if (runnableOpts.saveLocations && (!config.ui || config.ui === "bdd")) {
|
|
147
164
|
const pendingMethodName = `x${methodName}`;
|
|
148
165
|
ctx[pendingMethodName] = withLocation(ctx[pendingMethodName], {
|
|
149
166
|
inBus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test-reader/mocha-reader/index.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACvD,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACrD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACjD,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACrD,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC7C,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAE/D,SAAS,YAAY,CAAC,QAAQ;IAC1B,OAAO,UAAU,KAAK,EAAE,UAAU,EAAE,EAAE;QAClC,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAE5C,IAAI,UAAU,EAAE,GAAG,EAAE,CAAC;gBAClB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,GAAG,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test-reader/mocha-reader/index.js"],"names":[],"mappings":"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"}
|
|
@@ -70,8 +70,8 @@ class TreeBuilderDecorator {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
_TreeBuilderDecorator_treeBuilder = new WeakMap(), _TreeBuilderDecorator_suiteMap = new WeakMap(), _TreeBuilderDecorator_suiteCounter = new WeakMap(), _TreeBuilderDecorator_instances = new WeakSet(), _TreeBuilderDecorator_addHook = function _TreeBuilderDecorator_addHook(mochaHook, cb) {
|
|
73
|
-
const { fn, title } = mochaHook;
|
|
74
|
-
const hook = Hook.create({ fn, title });
|
|
73
|
+
const { fn, title, location } = mochaHook;
|
|
74
|
+
const hook = Hook.create({ fn, title, location });
|
|
75
75
|
cb(hook, __classPrivateFieldGet(this, _TreeBuilderDecorator_instances, "m", _TreeBuilderDecorator_getParent).call(this, mochaHook));
|
|
76
76
|
return this;
|
|
77
77
|
}, _TreeBuilderDecorator_mkTestObject = function _TreeBuilderDecorator_mkTestObject(Constructor, mochaObject, customOpts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-builder-decorator.js","sourceRoot":"","sources":["../../../../src/test-reader/mocha-reader/tree-builder-decorator.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tree-builder-decorator.js","sourceRoot":"","sources":["../../../../src/test-reader/mocha-reader/tree-builder-decorator.js"],"names":[],"mappings":"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"}
|