@overkill-dev/run 0.0.78 → 0.0.80
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/bench/benchmark-host-snapshot.d.ts +18 -0
- package/bench/benchmark-host-snapshot.d.ts.map +1 -1
- package/bench/benchmark-host-snapshot.js +20 -0
- package/bench/benchmark-host-snapshot.js.map +1 -1
- package/bench/benchmark-run-report.js +13 -5
- package/bench/benchmark-run-report.js.map +1 -1
- package/bounded-json-frames.js +19 -0
- package/bounded-json-frames.js.map +1 -0
- package/config/config.d.ts.map +1 -1
- package/config/config.js +1 -0
- package/config/config.js.map +1 -1
- package/config/schema.d.ts +8 -0
- package/config/schema.d.ts.map +1 -1
- package/config/schema.js +1 -0
- package/config/schema.js.map +1 -1
- package/config/snapshot.js +1 -0
- package/config/snapshot.js.map +1 -1
- package/config/types.d.ts +2 -0
- package/config/types.d.ts.map +1 -1
- package/config/validation.js +5 -0
- package/config/validation.js.map +1 -1
- package/engine/benchmark-garbage-collection.d.ts +13 -0
- package/engine/benchmark-garbage-collection.d.ts.map +1 -0
- package/engine/benchmark-garbage-collection.js +4 -0
- package/engine/benchmark-garbage-collection.js.map +1 -0
- package/engine/benchmark-node.d.ts +3 -0
- package/engine/benchmark-node.d.ts.map +1 -1
- package/engine/benchmark-result.d.ts +66 -0
- package/engine/benchmark-result.d.ts.map +1 -1
- package/engine/benchmark-result.js +2 -0
- package/engine/benchmark-result.js.map +1 -0
- package/engine/case-attempt-execution.js +11 -9
- package/engine/case-attempt-execution.js.map +1 -1
- package/engine/case-body-execution.js +43 -1
- package/engine/case-body-execution.js.map +1 -1
- package/engine/case-execution.d.ts.map +1 -1
- package/engine/case-execution.js +16 -40
- package/engine/case-execution.js.map +1 -1
- package/engine/execution-options.d.ts.map +1 -1
- package/engine/execution-options.js +2 -2
- package/engine/execution-options.js.map +1 -1
- package/engine/execution-supervision-state.js +6 -0
- package/engine/execution-supervision-state.js.map +1 -1
- package/engine/execution-supervision.d.ts +2 -0
- package/engine/execution-supervision.d.ts.map +1 -1
- package/engine/execution-supervision.js +2 -7
- package/engine/execution-supervision.js.map +1 -1
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +2 -1
- package/engine/execution.js.map +1 -1
- package/package.json +2 -1
- package/packages/resources/attachment-context.entry-point.js +2 -0
- package/packages/resources/attachment-context.entry-point.js.map +1 -1
- package/packages/run/run.entry-point.d.ts +3 -2
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/readme.md +11 -5
- package/run/attachment-connection.js +3 -2
- package/run/attachment-connection.js.map +1 -1
- package/run/attachment-eligibility.js +12 -1
- package/run/attachment-eligibility.js.map +1 -1
- package/run/attachment-server.js +3 -2
- package/run/attachment-server.js.map +1 -1
- package/run/benchmark-definition-schema.js +15 -11
- package/run/benchmark-definition-schema.js.map +1 -1
- package/run/benchmark-execution-environment.js +21 -0
- package/run/benchmark-execution-environment.js.map +1 -0
- package/run/benchmark-garbage-collection.js +29 -0
- package/run/benchmark-garbage-collection.js.map +1 -0
- package/run/benchmark-placement.js +102 -0
- package/run/benchmark-placement.js.map +1 -0
- package/run/benchmark-report-metadata.js +4 -2
- package/run/benchmark-report-metadata.js.map +1 -1
- package/run/benchmark-result-schema.js +87 -18
- package/run/benchmark-result-schema.js.map +1 -1
- package/run/collected-placement.js +85 -0
- package/run/collected-placement.js.map +1 -0
- package/run/default-run-engine.js +1 -0
- package/run/default-run-engine.js.map +1 -1
- package/run/execution-session-supervised.js +13 -2
- package/run/execution-session-supervised.js.map +1 -1
- package/run/node-run-execution.js +1 -0
- package/run/node-run-execution.js.map +1 -1
- package/run/run-collected-planning.js +19 -61
- package/run/run-collected-planning.js.map +1 -1
- package/run/run-collected-resolution.js +3 -1
- package/run/run-collected-resolution.js.map +1 -1
- package/run/run-command-schema.js +1 -0
- package/run/run-command-schema.js.map +1 -1
- package/run/run-facts.js +23 -8
- package/run/run-facts.js.map +1 -1
- package/run/run-host-process.js +1 -1
- package/run/run-host-process.js.map +1 -1
- package/run/run-isolated-command.js +2 -0
- package/run/run-isolated-command.js.map +1 -1
- package/run/run-local-planning.js +4 -0
- package/run/run-local-planning.js.map +1 -1
- package/run/run-types.d.ts +4 -2
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/run/supervised-child-execution.js +7 -1
- package/run/supervised-child-execution.js.map +1 -1
- package/run/supervised-child-process.js +1 -1
- package/run/supervised-child-process.js.map +1 -1
- package/run/supervised-child.js +1 -1
- package/run/supervised-child.js.map +1 -1
- package/run/supervised-protocol.js.map +1 -1
- package/run/worker-execution-engine.js +21 -0
- package/run/worker-execution-engine.js.map +1 -0
- package/run/worker-pool-command.js +1 -0
- package/run/worker-pool-command.js.map +1 -1
- package/run/worker-pool-lanes.js +1 -1
- package/run/worker-pool-lanes.js.map +1 -1
- package/run/worker-pool-placement-planning.js +3 -2
- package/run/worker-pool-placement-planning.js.map +1 -1
- package/run/worker-pool-protocol.js.map +1 -1
- package/run/worker-pool-worker.js +3 -15
- package/run/worker-pool-worker.js.map +1 -1
- package/software-bill-of-materials.cyclonedx.json +4 -4
- package/run/attachment-frames.js +0 -22
- package/run/attachment-frames.js.map +0 -1
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import { z } from 'zod/v4';
|
|
2
|
+
import { benchmarkLifecycleVersion } from "../engine/benchmark-result.js";
|
|
2
3
|
import { workloadIdSchema } from "../engine/identity-schema.js";
|
|
3
4
|
import { minimumInferentialSamples, maximumRetainedSamples } from "../engine/benchmark-limits.js";
|
|
5
|
+
const minimumCooldownMilliseconds = 100;
|
|
6
|
+
const maximumCooldownMilliseconds = 60_000;
|
|
7
|
+
const legacyLifecyclePolicySchema = z.strictObject({
|
|
8
|
+
warmupSamples: z.number().int().min(0).max(maximumRetainedSamples),
|
|
9
|
+
cooldown: z.discriminatedUnion('mode', [
|
|
10
|
+
z.strictObject({ mode: z.literal('off') }),
|
|
11
|
+
z.strictObject({
|
|
12
|
+
mode: z.literal('runtime'),
|
|
13
|
+
maximumEventLoopUtilization: z.number().min(0).max(1),
|
|
14
|
+
timeoutMilliseconds: z.number().int().gt(minimumCooldownMilliseconds).max(maximumCooldownMilliseconds)
|
|
15
|
+
})
|
|
16
|
+
])
|
|
17
|
+
});
|
|
18
|
+
export const benchmarkLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
|
|
19
|
+
garbageCollection: z.enum(['off', 'after-sample', 'profile-default']).default('off')
|
|
20
|
+
});
|
|
21
|
+
const resolvedLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
|
|
22
|
+
garbageCollection: z.enum(['off', 'after-sample'])
|
|
23
|
+
});
|
|
4
24
|
export const budgetStatisticSchema = z.discriminatedUnion('kind', [
|
|
5
25
|
z.strictObject({ kind: z.literal('quantile'), probability: z.number().gt(0).lt(1) }),
|
|
6
26
|
z.strictObject({ kind: z.literal('mean'), range: z.strictObject({ minimum: z.number(), maximum: z.number() }) }),
|
|
@@ -14,25 +34,78 @@ export const samplingPolicySchema = z.strictObject({
|
|
|
14
34
|
minimumSamples: z.number().int().min(minimumInferentialSamples),
|
|
15
35
|
maximumSamples: z.number().int().min(minimumInferentialSamples).max(maximumRetainedSamples)
|
|
16
36
|
});
|
|
37
|
+
const metricSummarySchema = z.strictObject({
|
|
38
|
+
count: z.number().int().nonnegative(),
|
|
39
|
+
minimum: z.number().nullable(),
|
|
40
|
+
maximum: z.number().nullable(),
|
|
41
|
+
mean: z.number().nullable(),
|
|
42
|
+
median: z.number().nullable(),
|
|
43
|
+
provenance: z.strictObject({
|
|
44
|
+
collector: z.string(),
|
|
45
|
+
scope: z.enum(['region', 'thread', 'process', 'runtime', 'custom']),
|
|
46
|
+
unit: z.string()
|
|
47
|
+
}),
|
|
48
|
+
unavailableReasons: z.array(z.string())
|
|
49
|
+
});
|
|
50
|
+
const rawSamplesSchema = z.strictObject({
|
|
51
|
+
status: z.enum(['recorded', 'omitted', 'truncated']),
|
|
52
|
+
reference: z.string().nullable(),
|
|
53
|
+
reason: z.string().nullable()
|
|
54
|
+
});
|
|
55
|
+
const legacyLifecycleResultSchema = z.strictObject({
|
|
56
|
+
version: z.literal(1),
|
|
57
|
+
policy: legacyLifecyclePolicySchema,
|
|
58
|
+
warmup: z.strictObject({
|
|
59
|
+
samples: z.number().int().nonnegative(),
|
|
60
|
+
metrics: z.record(z.string(), metricSummarySchema),
|
|
61
|
+
rawSamples: rawSamplesSchema
|
|
62
|
+
}),
|
|
63
|
+
cleanup: z.strictObject({ callbacks: z.number().int().nonnegative(), failures: z.number().int().nonnegative() }),
|
|
64
|
+
cooldown: z.discriminatedUnion('mode', [
|
|
65
|
+
z.strictObject({ mode: z.literal('off') }),
|
|
66
|
+
z.strictObject({
|
|
67
|
+
mode: z.literal('runtime'),
|
|
68
|
+
strategy: z.literal('event-loop-utilization-v1'),
|
|
69
|
+
completed: z.number().int().nonnegative(),
|
|
70
|
+
windows: z.number().int().nonnegative(),
|
|
71
|
+
durationMicroseconds: z.number().nonnegative(),
|
|
72
|
+
lastUtilization: z.number().min(0).max(1).nullable(),
|
|
73
|
+
outcome: z.enum(['pending', 'settled', 'timed-out', 'cancelled', 'unavailable'])
|
|
74
|
+
})
|
|
75
|
+
])
|
|
76
|
+
});
|
|
77
|
+
const lifecycleResultSchema = z.union([
|
|
78
|
+
legacyLifecycleResultSchema.extend({
|
|
79
|
+
version: z.literal(benchmarkLifecycleVersion),
|
|
80
|
+
policy: resolvedLifecyclePolicySchema,
|
|
81
|
+
garbageCollection: z
|
|
82
|
+
.discriminatedUnion('mode', [
|
|
83
|
+
z.strictObject({ mode: z.literal('off') }),
|
|
84
|
+
z.strictObject({
|
|
85
|
+
mode: z.literal('after-sample'),
|
|
86
|
+
completed: z.number().int().nonnegative(),
|
|
87
|
+
failures: z.number().int().nonnegative()
|
|
88
|
+
})
|
|
89
|
+
])
|
|
90
|
+
.nullable()
|
|
91
|
+
}),
|
|
92
|
+
legacyLifecycleResultSchema.transform(function historicalGarbageCollection(value) {
|
|
93
|
+
return {
|
|
94
|
+
...value,
|
|
95
|
+
version: benchmarkLifecycleVersion,
|
|
96
|
+
policy: { ...value.policy, garbageCollection: 'off' },
|
|
97
|
+
garbageCollection: null
|
|
98
|
+
};
|
|
99
|
+
})
|
|
100
|
+
]);
|
|
17
101
|
export const benchmarkResultSchema = z.strictObject({
|
|
102
|
+
lifecycle: lifecycleResultSchema.nullable().default(null),
|
|
18
103
|
workload: workloadIdSchema,
|
|
19
104
|
policy: samplingPolicySchema,
|
|
20
105
|
samples: z.number().int().nonnegative(),
|
|
21
106
|
status: z.enum(['sampling', 'complete', 'incomplete']),
|
|
22
107
|
assumption: z.literal('independent-stationary-observations'),
|
|
23
|
-
metrics: z.record(z.string(),
|
|
24
|
-
count: z.number().int().nonnegative(),
|
|
25
|
-
minimum: z.number().nullable(),
|
|
26
|
-
maximum: z.number().nullable(),
|
|
27
|
-
mean: z.number().nullable(),
|
|
28
|
-
median: z.number().nullable(),
|
|
29
|
-
provenance: z.strictObject({
|
|
30
|
-
collector: z.string(),
|
|
31
|
-
scope: z.enum(['region', 'thread', 'process', 'runtime', 'custom']),
|
|
32
|
-
unit: z.string()
|
|
33
|
-
}),
|
|
34
|
-
unavailableReasons: z.array(z.string())
|
|
35
|
-
})),
|
|
108
|
+
metrics: z.record(z.string(), metricSummarySchema),
|
|
36
109
|
budgets: z.array(z.strictObject({
|
|
37
110
|
metric: z.string(),
|
|
38
111
|
statistic: budgetStatisticSchema,
|
|
@@ -43,10 +116,6 @@ export const benchmarkResultSchema = z.strictObject({
|
|
|
43
116
|
precise: z.boolean(),
|
|
44
117
|
decision: z.enum(['pass', 'fail', 'undecided', 'unavailable'])
|
|
45
118
|
})),
|
|
46
|
-
rawSamples:
|
|
47
|
-
status: z.enum(['recorded', 'omitted', 'truncated']),
|
|
48
|
-
reference: z.string().nullable(),
|
|
49
|
-
reason: z.string().nullable()
|
|
50
|
-
})
|
|
119
|
+
rawSamples: rawSamplesSchema
|
|
51
120
|
});
|
|
52
121
|
//# sourceMappingURL=benchmark-result-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-result-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-result-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"benchmark-result-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-result-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { emptyWorkUnitResourceConstraints } from "./run-types.js";
|
|
2
|
+
import { collectedRunCaseEntriesFromWorkUnits, createWorkerPoolPlacementResolution } from "./worker-pool-placement-planning.js";
|
|
3
|
+
import { workUnitsFromCollectedPlan } from "./work-unit-planning.js";
|
|
4
|
+
function fileSetForDiscoveredFiles(files) {
|
|
5
|
+
const fileSets = new Map(files.map(function toFileSetEntry(file) {
|
|
6
|
+
return [file.file, file.fileSet];
|
|
7
|
+
}));
|
|
8
|
+
return function fileSetForFile(file) {
|
|
9
|
+
return file === null ? null : fileSets.get(file) ?? null;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function workerPoolAssignmentPolicy(profile) {
|
|
13
|
+
return profile.execution.processModel === 'worker-pool'
|
|
14
|
+
? profile.execution.assignmentPolicy
|
|
15
|
+
: 'case-count-balanced';
|
|
16
|
+
}
|
|
17
|
+
function workDistribution(profile) {
|
|
18
|
+
return profile.execution.processModel === 'worker-pool'
|
|
19
|
+
? profile.execution.workDistribution
|
|
20
|
+
: { mode: 'file' };
|
|
21
|
+
}
|
|
22
|
+
function workerLifecycle(profile) {
|
|
23
|
+
return profile.execution.processModel === 'worker-pool'
|
|
24
|
+
? profile.execution.workerLifecycle
|
|
25
|
+
: 'reuse';
|
|
26
|
+
}
|
|
27
|
+
function profileMaximumWorkers(profile) {
|
|
28
|
+
return profile.execution.processModel === 'worker-pool'
|
|
29
|
+
? profile.execution.maxWorkers
|
|
30
|
+
: null;
|
|
31
|
+
}
|
|
32
|
+
function selectedBenchmarkDefinition(entry) {
|
|
33
|
+
const summary = entry.testCase.benchmark;
|
|
34
|
+
const workload = entry.workId.workload?.name;
|
|
35
|
+
if (summary === null || workload === undefined) {
|
|
36
|
+
return summary;
|
|
37
|
+
}
|
|
38
|
+
const budgets = summary.budgets[workload];
|
|
39
|
+
return budgets === undefined ? null : { ...summary, budgets: { [workload]: budgets } };
|
|
40
|
+
}
|
|
41
|
+
export async function benchmarkPlacementForCases(input, entries) {
|
|
42
|
+
if (input.profile.testFamily !== 'benchmark') {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const { resolveBenchmarkPlacement } = await import("./benchmark-placement.js");
|
|
46
|
+
return resolveBenchmarkPlacement({
|
|
47
|
+
definitions: entries.map(selectedBenchmarkDefinition),
|
|
48
|
+
host: input.benchmarkHost,
|
|
49
|
+
processModel: input.profile.execution.processModel
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export async function createPlacementResolution(input, shardHasher) {
|
|
53
|
+
if (input.planKind !== 'worker-pool') {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const units = workUnitsFromCollectedPlan({
|
|
57
|
+
runConstraints: emptyWorkUnitResourceConstraints,
|
|
58
|
+
fileSetForFile: fileSetForDiscoveredFiles(input.files),
|
|
59
|
+
order: input.request.order,
|
|
60
|
+
seed: input.request.seed,
|
|
61
|
+
selectedPlan: input.collectedPlan,
|
|
62
|
+
shard: input.request.shard,
|
|
63
|
+
shardHasher,
|
|
64
|
+
scheduling: input.profile.execution.scheduling,
|
|
65
|
+
workDistribution: workDistribution(input.profile),
|
|
66
|
+
workerLifecycle: workerLifecycle(input.profile)
|
|
67
|
+
});
|
|
68
|
+
const entries = collectedRunCaseEntriesFromWorkUnits(input.collectedPlan, units);
|
|
69
|
+
const benchmarkPlacement = await benchmarkPlacementForCases(input, entries);
|
|
70
|
+
return {
|
|
71
|
+
...createWorkerPoolPlacementResolution({
|
|
72
|
+
units,
|
|
73
|
+
maximumWorkers: benchmarkPlacement?.maximumWorkers ?? null,
|
|
74
|
+
assignmentPolicy: workerPoolAssignmentPolicy(input.profile),
|
|
75
|
+
availableParallelism: input.dependencies.availableParallelism,
|
|
76
|
+
durationHistoryIndex: input.durationHistoryIndex,
|
|
77
|
+
nowMilliseconds: input.dependencies.wallClock.currentUnixEpochMilliseconds,
|
|
78
|
+
profileMaximumWorkers: profileMaximumWorkers(input.profile),
|
|
79
|
+
requestedWorkers: input.request.workers,
|
|
80
|
+
selectedPlan: input.collectedPlan
|
|
81
|
+
}),
|
|
82
|
+
benchmarkPlacement
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=collected-placement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collected-placement.js","sourceRoot":"","sources":["../../../../source/run/collected-placement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-run-engine.js","sourceRoot":"","sources":["../../../../source/run/default-run-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAwC,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB;IAC5B,OAAO,OAAO,CAAC,sBAAsB,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,wBAAwB;IAC7B,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;IAEhC,OAAO;QACH,OAAO,EAAE,aAAa,CAAC;YACnB,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB;YACvB,kBAAkB,EAAE,wBAAwB,CAAC;gBACzC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;gBACtC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;gBACtC,SAAS;aACZ,CAAC;YACF,SAAS;SACZ,CAAC;QACF,SAAS;KACZ,CAAC;AACN,CAAC;AAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,wBAAwB,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACpC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;IACrD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;IACvD,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;IACnD,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;IACrC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;IACrD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;IACrD,cAAc,EAAE,MAAM,CAAC,cAAc;IACrC,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;IAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,YAAY;IACZ,YAAY,EAAE,MAAM,CAAC,YAAY;CACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"default-run-engine.js","sourceRoot":"","sources":["../../../../source/run/default-run-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAwC,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB;IAC5B,OAAO,OAAO,CAAC,sBAAsB,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,wBAAwB;IAC7B,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;IAEhC,OAAO;QACH,OAAO,EAAE,aAAa,CAAC;YACnB,oBAAoB,EAAE,IAAI;YAC1B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB;YACvB,kBAAkB,EAAE,wBAAwB,CAAC;gBACzC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;gBACtC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;gBACtC,SAAS;aACZ,CAAC;YACF,SAAS;SACZ,CAAC;QACF,SAAS;KACZ,CAAC;AACN,CAAC;AAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,wBAAwB,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACpC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;IACrD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;IACvD,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;IACnD,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;IACrC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;IACrD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;IACrD,cAAc,EAAE,MAAM,CAAC,cAAc;IACrC,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;IAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,YAAY;IACZ,YAAY,EAAE,MAAM,CAAC,YAAY;CACpC,CAAC"}
|
|
@@ -7,6 +7,9 @@ import { withExecutionSession } from "./execution-session-context.js";
|
|
|
7
7
|
import { runExecutionFailure } from "./execution-failure.js";
|
|
8
8
|
function readExecutionData(observation, message) {
|
|
9
9
|
const decoded = envelopeMessage(message, supervisedChildCorrelationId, supervisedChildMessageSchema);
|
|
10
|
+
if (decoded?.kind === 'result') {
|
|
11
|
+
observation.result.write(decoded.result);
|
|
12
|
+
}
|
|
10
13
|
if (decoded?.kind !== 'execution-data') {
|
|
11
14
|
return;
|
|
12
15
|
}
|
|
@@ -63,14 +66,22 @@ function observedReply(result, call, observation) {
|
|
|
63
66
|
if (!observation.delivered.read()) {
|
|
64
67
|
return missingDataReply(result, call);
|
|
65
68
|
}
|
|
66
|
-
|
|
69
|
+
const completed = observation.result.read();
|
|
70
|
+
const selected = completed === null ? result : {
|
|
71
|
+
...result,
|
|
72
|
+
bySuite: completed.bySuite,
|
|
73
|
+
planStatus: completed.planStatus,
|
|
74
|
+
summary: { ...result.summary, planned: completed.summary.planned }
|
|
75
|
+
};
|
|
76
|
+
return { kind: 'result', result: selected, data: observation.data.read(), deadlineExceeded: false };
|
|
67
77
|
}
|
|
68
78
|
export async function runSupervisedExecutionSession(options, dependencies, call) {
|
|
69
79
|
const observation = {
|
|
70
80
|
data: createStoredValue(null),
|
|
71
81
|
delivered: createStoredValue(false),
|
|
72
82
|
failure: createStoredValue(null),
|
|
73
|
-
invalid: new AbortController()
|
|
83
|
+
invalid: new AbortController(),
|
|
84
|
+
result: createStoredValue(null)
|
|
74
85
|
};
|
|
75
86
|
const operations = createRunOperations(observedDependencies(dependencies, observation), 'test');
|
|
76
87
|
const signal = AbortSignal.any([call.signal, observation.invalid.signal]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-session-supervised.js","sourceRoot":"","sources":["../../../../source/run/execution-session-supervised.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-session-supervised.js","sourceRoot":"","sources":["../../../../source/run/execution-session-supervised.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export function createNodeExecutionDependencies(input) {
|
|
|
14
14
|
return createWorkerPoolWithHostProcess(options, input.readEnvironment(), input.startWorkerPoolHost);
|
|
15
15
|
},
|
|
16
16
|
execute: createExecute({
|
|
17
|
+
benchmarkEnvironment: null,
|
|
17
18
|
asyncLeakDiagnostics: 'enabled',
|
|
18
19
|
readActiveResourceTypes,
|
|
19
20
|
reporterDispatcher: input.reporterDispatcher,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-run-execution.js","sourceRoot":"","sources":["../../../../source/run/node-run-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAenE,SAAS,uBAAuB;IAC5B,OAAO,OAAO,CAAC,sBAAsB,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAyB;IACrE,OAAO;QACH,yBAAyB,CAAC,OAAO;YAC7B,OAAO,6BAA6B,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,gBAAgB,CAAC,OAAO;YACpB,OAAO,+BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,EAAE,aAAa,CAAC;YACnB,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB;YACvB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,SAAS,EAAE,KAAK,CAAC,SAAS;SAC7B,CAAC;QACF,iBAAiB,EAAE,mBAAmB,EAAE;KAC3C,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"node-run-execution.js","sourceRoot":"","sources":["../../../../source/run/node-run-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAenE,SAAS,uBAAuB;IAC5B,OAAO,OAAO,CAAC,sBAAsB,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAyB;IACrE,OAAO;QACH,yBAAyB,CAAC,OAAO;YAC7B,OAAO,6BAA6B,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,gBAAgB,CAAC,OAAO;YACpB,OAAO,+BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,EAAE,aAAa,CAAC;YACnB,oBAAoB,EAAE,IAAI;YAC1B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB;YACvB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,SAAS,EAAE,KAAK,CAAC,SAAS;SAC7B,CAAC;QACF,iBAAiB,EAAE,mBAAmB,EAAE;KAC3C,CAAC;AACN,CAAC"}
|
|
@@ -1,68 +1,11 @@
|
|
|
1
|
+
import { hostProcessFacts } from "./run-host-process.js";
|
|
1
2
|
import { createRunShardHasher, shardCollectedRunPlanCases } from "./run-sharding.js";
|
|
2
3
|
import { orderedRunItems } from "./run-ordering.js";
|
|
3
|
-
import {
|
|
4
|
-
import { collectedRunCaseEntriesFromWorkUnits, createWorkerPoolPlacementResolution } from "./worker-pool-placement-planning.js";
|
|
4
|
+
import { collectedRunCaseEntriesFromWorkUnits } from "./worker-pool-placement-planning.js";
|
|
5
5
|
import { constrainedScheduling, workResourceConstraints } from "./work-unit-resource-constraints.js";
|
|
6
6
|
import { assertCollectedPlanCompatible } from "./execution-plan-resolution.js";
|
|
7
7
|
import { resolveRunScheduling } from "./run-profile-facts.js";
|
|
8
|
-
|
|
9
|
-
const fileSets = new Map(files.map(function toFileSetEntry(file) {
|
|
10
|
-
return [file.file, file.fileSet];
|
|
11
|
-
}));
|
|
12
|
-
return function fileSetForFile(file) {
|
|
13
|
-
return file === null ? null : fileSets.get(file) ?? null;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
function workerPoolAssignmentPolicy(profile) {
|
|
17
|
-
return profile.execution.processModel === 'worker-pool'
|
|
18
|
-
? profile.execution.assignmentPolicy
|
|
19
|
-
: 'case-count-balanced';
|
|
20
|
-
}
|
|
21
|
-
function workDistribution(profile) {
|
|
22
|
-
return profile.execution.processModel === 'worker-pool'
|
|
23
|
-
? profile.execution.workDistribution
|
|
24
|
-
: { mode: 'file' };
|
|
25
|
-
}
|
|
26
|
-
function workerLifecycle(profile) {
|
|
27
|
-
return profile.execution.processModel === 'worker-pool'
|
|
28
|
-
? profile.execution.workerLifecycle
|
|
29
|
-
: 'reuse';
|
|
30
|
-
}
|
|
31
|
-
function profileMaximumWorkers(profile) {
|
|
32
|
-
return profile.execution.processModel === 'worker-pool'
|
|
33
|
-
? profile.execution.maxWorkers
|
|
34
|
-
: null;
|
|
35
|
-
}
|
|
36
|
-
function createPlacementResolution(input, shardHasher) {
|
|
37
|
-
if (input.planKind !== 'worker-pool') {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
const runConstraints = input.profile.testFamily === 'benchmark'
|
|
41
|
-
? {
|
|
42
|
-
...emptyWorkUnitResourceConstraints,
|
|
43
|
-
serialKeys: ['run:benchmark-serialization'],
|
|
44
|
-
singleWorkerKeys: ['run:benchmark-serialization']
|
|
45
|
-
}
|
|
46
|
-
: emptyWorkUnitResourceConstraints;
|
|
47
|
-
return createWorkerPoolPlacementResolution({
|
|
48
|
-
runConstraints,
|
|
49
|
-
assignmentPolicy: workerPoolAssignmentPolicy(input.profile),
|
|
50
|
-
availableParallelism: input.dependencies.availableParallelism,
|
|
51
|
-
durationHistoryIndex: input.durationHistoryIndex,
|
|
52
|
-
fileSetForFile: fileSetForDiscoveredFiles(input.files),
|
|
53
|
-
nowMilliseconds: input.dependencies.wallClock.currentUnixEpochMilliseconds,
|
|
54
|
-
order: input.request.order,
|
|
55
|
-
profileMaximumWorkers: profileMaximumWorkers(input.profile),
|
|
56
|
-
requestedWorkers: input.request.workers,
|
|
57
|
-
seed: input.request.seed,
|
|
58
|
-
selectedPlan: input.collectedPlan,
|
|
59
|
-
shard: input.request.shard,
|
|
60
|
-
shardHasher,
|
|
61
|
-
scheduling: input.profile.execution.scheduling,
|
|
62
|
-
workDistribution: workDistribution(input.profile),
|
|
63
|
-
workerLifecycle: workerLifecycle(input.profile)
|
|
64
|
-
});
|
|
65
|
-
}
|
|
8
|
+
import { benchmarkPlacementForCases, createPlacementResolution } from "./collected-placement.js";
|
|
66
9
|
function orderedCollectedCases(input, placementPlan, shardHasher) {
|
|
67
10
|
if (placementPlan !== null) {
|
|
68
11
|
return collectedRunCaseEntriesFromWorkUnits(input.collectedPlan, placementPlan.units);
|
|
@@ -78,12 +21,23 @@ function resolvedScheduling(input, orderedCases) {
|
|
|
78
21
|
}), input.collectedPlan);
|
|
79
22
|
return constrainedScheduling(resolveRunScheduling(input.request, input.profile), constraints);
|
|
80
23
|
}
|
|
24
|
+
async function resolveCollectedHost(input, cases) {
|
|
25
|
+
if (input.profile.execution.processModel !== 'worker-pool') {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
let { hostProcess } = input.profile.execution;
|
|
29
|
+
if (input.profile.testFamily === 'benchmark') {
|
|
30
|
+
const { resolveBenchmarkGarbageCollectionHost } = await import("./benchmark-garbage-collection.js");
|
|
31
|
+
hostProcess = resolveBenchmarkGarbageCollectionHost(hostProcess, input.profile.garbageCollection, cases);
|
|
32
|
+
}
|
|
33
|
+
return hostProcessFacts(hostProcess);
|
|
34
|
+
}
|
|
81
35
|
export async function createCollectedExecutionPlan(input) {
|
|
82
36
|
if (input.planKind === 'supervised') {
|
|
83
37
|
assertCollectedPlanCompatible(input.collectedPlan);
|
|
84
38
|
}
|
|
85
39
|
const shardHasher = await createRunShardHasher(input.request.shard);
|
|
86
|
-
const placementResolution = createPlacementResolution(input, shardHasher);
|
|
40
|
+
const placementResolution = await createPlacementResolution(input, shardHasher);
|
|
87
41
|
const planningFacts = placementResolution ?? {
|
|
88
42
|
durationHistory: null,
|
|
89
43
|
placementPlan: null,
|
|
@@ -92,6 +46,10 @@ export async function createCollectedExecutionPlan(input) {
|
|
|
92
46
|
const { placementPlan, workerCount } = planningFacts;
|
|
93
47
|
const orderedCases = orderedCollectedCases(input, placementPlan, shardHasher);
|
|
94
48
|
return {
|
|
49
|
+
hostProcess: await resolveCollectedHost(input, orderedCases),
|
|
50
|
+
benchmarkPlacement: placementResolution === null
|
|
51
|
+
? await benchmarkPlacementForCases(input, orderedCases)
|
|
52
|
+
: placementResolution.benchmarkPlacement,
|
|
95
53
|
durationHistory: planningFacts.durationHistory,
|
|
96
54
|
orderedCases,
|
|
97
55
|
placementPlan,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-collected-planning.js","sourceRoot":"","sources":["../../../../source/run/run-collected-planning.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-collected-planning.js","sourceRoot":"","sources":["../../../../source/run/run-collected-planning.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,10 +18,12 @@ async function createResolvedRunFromCollectedPlan(input) {
|
|
|
18
18
|
if (!input.allowEmptySelection) {
|
|
19
19
|
assertCollectedRunPlanHasCases(input.collectedPlan);
|
|
20
20
|
}
|
|
21
|
-
const { durationHistory, orderedCases, placementPlan, scheduling, workerCount } = await createCollectedExecutionPlan(input);
|
|
21
|
+
const { benchmarkPlacement, durationHistory, hostProcess, orderedCases, placementPlan, scheduling, workerCount } = await createCollectedExecutionPlan(input);
|
|
22
22
|
const plannedCollectedPlan = collectedRunPlanFromEntries(input.collectedPlan, orderedCases);
|
|
23
23
|
const facts = freezeValue(createRunFacts({
|
|
24
|
+
hostProcess,
|
|
24
25
|
benchmarkHost: input.benchmarkHost,
|
|
26
|
+
benchmarkPlacement,
|
|
25
27
|
benchmarkCalibration: input.benchmarkCalibration,
|
|
26
28
|
cases: collectedRunCaseFactsFromEntries(orderedCases, fileSetForDiscoveredFiles(input.files)),
|
|
27
29
|
config: input.config,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-collected-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-collected-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EACH,cAAc,EACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACH,6CAA6C,EAC7C,8BAA8B,EAC9B,uCAAuC,EACvC,wBAAwB,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,WAAW,EACX,mBAAmB,EACtB,MAAM,kBAAkB,CAAC;AAiC1B,SAAS,yBAAyB,CAAC,KAAgC;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,IAAI;QAC3D,OAAO,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAE,CAAC;IACvC,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,SAAS,cAAc,CAAC,IAAI;QAC/B,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,kCAAkC,CAAC,KAAgC;IAC9E,uCAAuC,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvF,6CAA6C,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAElF,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC7B,8BAA8B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"run-collected-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-collected-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export const hostProcessSchema = z.discriminatedUnion('kind', [
|
|
|
5
5
|
z.strictObject({ kind: z.literal('child'), nodeArguments: z.array(z.string()) })
|
|
6
6
|
]);
|
|
7
7
|
export const executionCommandFields = {
|
|
8
|
+
benchmarkGarbageCollection: z.enum(['off', 'after-sample']).nullable().default(null),
|
|
8
9
|
propertyPolicy: propertyPolicySchema.nullable().default(null),
|
|
9
10
|
retryPolicy: z
|
|
10
11
|
.strictObject({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-command-schema.js","sourceRoot":"","sources":["../../../../source/run/run-command-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-command-schema.js","sourceRoot":"","sources":["../../../../source/run/run-command-schema.ts"],"names":[],"mappings":"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"}
|
package/run/run-facts.js
CHANGED
|
@@ -6,16 +6,31 @@ import { runEngineFacts } from "./run-support.js";
|
|
|
6
6
|
function resolvedSeed(request, dependencies) {
|
|
7
7
|
return request.seed.value ?? dependencies.createSeed();
|
|
8
8
|
}
|
|
9
|
-
function
|
|
10
|
-
if (profile.testFamily === '
|
|
11
|
-
return
|
|
9
|
+
function executionFamilyFacts(profile) {
|
|
10
|
+
if (profile.testFamily === 'benchmark') {
|
|
11
|
+
return {
|
|
12
|
+
attachments: profile.attachments,
|
|
13
|
+
benchmarkGarbageCollection: profile.garbageCollection,
|
|
14
|
+
propertyPolicy: null,
|
|
15
|
+
retries: null
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
if (profile.testFamily === 'integration') {
|
|
19
|
+
return {
|
|
20
|
+
attachments: profile.attachments,
|
|
21
|
+
benchmarkGarbageCollection: null,
|
|
22
|
+
propertyPolicy: null,
|
|
23
|
+
retries: profile.retries
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (profile.testFamily === 'property') {
|
|
27
|
+
return { attachments: null, benchmarkGarbageCollection: null, propertyPolicy: profile.property, retries: null };
|
|
12
28
|
}
|
|
13
|
-
return
|
|
29
|
+
return { attachments: null, benchmarkGarbageCollection: null, propertyPolicy: null, retries: null };
|
|
14
30
|
}
|
|
15
31
|
function createRunExecutionFacts(input, profile) {
|
|
16
32
|
const facts = {
|
|
17
|
-
|
|
18
|
-
propertyPolicy: profile.testFamily === 'property' ? profile.property : null,
|
|
33
|
+
...executionFamilyFacts(profile),
|
|
19
34
|
baselineUpdateMode: input.request.baselineUpdateMode,
|
|
20
35
|
capture: input.request.capture,
|
|
21
36
|
coverage: input.request.coverage,
|
|
@@ -25,7 +40,6 @@ function createRunExecutionFacts(input, profile) {
|
|
|
25
40
|
order: input.request.order,
|
|
26
41
|
placementPlan: input.placementPlan,
|
|
27
42
|
profile: input.request.profile,
|
|
28
|
-
retries: profile.testFamily === 'integration' ? profile.retries : null,
|
|
29
43
|
processUsagePolicy: resolveProcessUsagePolicy(input.request, profile),
|
|
30
44
|
scheduling: input.scheduling,
|
|
31
45
|
testFamily: profile.testFamily,
|
|
@@ -42,7 +56,7 @@ function createRunExecutionFacts(input, profile) {
|
|
|
42
56
|
assignmentPolicy: profile.execution.assignmentPolicy,
|
|
43
57
|
dispatchPolicy: profile.execution.dispatchPolicy,
|
|
44
58
|
hedging: profile.execution.hedging,
|
|
45
|
-
hostProcess: hostProcessFacts(profile.execution.hostProcess),
|
|
59
|
+
hostProcess: input.hostProcess ?? hostProcessFacts(profile.execution.hostProcess),
|
|
46
60
|
processModel: profile.execution.processModel,
|
|
47
61
|
workerCount: input.workerCount,
|
|
48
62
|
workDistribution: profile.execution.workDistribution,
|
|
@@ -58,6 +72,7 @@ export function createRunFacts(input) {
|
|
|
58
72
|
const profile = selectProfile(input.request.profile, input.config);
|
|
59
73
|
return {
|
|
60
74
|
benchmarkHost: input.benchmarkHost,
|
|
75
|
+
benchmarkPlacement: input.benchmarkPlacement,
|
|
61
76
|
benchmarkCalibration: input.benchmarkCalibration,
|
|
62
77
|
cases: input.cases,
|
|
63
78
|
coveragePolicy: input.request.coverage && profile.testFamily === 'microtest' ? profile.coverage : null,
|
package/run/run-facts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-facts.js","sourceRoot":"","sources":["../../../../source/run/run-facts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-facts.js","sourceRoot":"","sources":["../../../../source/run/run-facts.ts"],"names":[],"mappings":"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"}
|
package/run/run-host-process.js
CHANGED
|
@@ -21,7 +21,7 @@ function uniqueReasons(reasons) {
|
|
|
21
21
|
}
|
|
22
22
|
function nodeArgumentReasons(argument) {
|
|
23
23
|
return [
|
|
24
|
-
...argument === '--expose-gc' ? ['forced-garbage-collection'] : [],
|
|
24
|
+
...argument.replaceAll('_', '-') === '--expose-gc' ? ['forced-garbage-collection'] : [],
|
|
25
25
|
...isInspectArgument(argument) ? ['debugging'] : [],
|
|
26
26
|
...isProfilingArgument(argument) ? ['profiling'] : []
|
|
27
27
|
];
|