hardhat 3.14.0 → 3.16.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/CHANGELOG.md +18 -0
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts +2 -2
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js +13 -11
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts +6 -1
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.js +41 -0
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +16 -3
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +45 -2
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/runner.js +18 -1
- package/dist/src/internal/builtin-plugins/solidity-test/runner.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +15 -16
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
- package/package.json +2 -2
- package/src/internal/builtin-plugins/solidity/type-extensions.ts +2 -2
- package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts +13 -11
- package/src/internal/builtin-plugins/solidity-test/formatters.ts +60 -1
- package/src/internal/builtin-plugins/solidity-test/helpers.ts +56 -4
- package/src/internal/builtin-plugins/solidity-test/runner.ts +33 -1
- package/src/internal/builtin-plugins/solidity-test/task-action.ts +20 -20
- package/templates/01-node-test-runner-viem/contracts/Counter.sol +1 -1
- package/templates/01-node-test-runner-viem/contracts/Counter.t.sol +1 -1
- package/templates/01-node-test-runner-viem/hardhat.config.ts +2 -2
- package/templates/01-node-test-runner-viem/package.json +2 -2
- package/templates/02-mocha-ethers/contracts/Counter.sol +1 -1
- package/templates/02-mocha-ethers/contracts/Counter.t.sol +1 -1
- package/templates/02-mocha-ethers/hardhat.config.ts +2 -2
- package/templates/02-mocha-ethers/package.json +2 -2
- package/templates/03-minimal/hardhat.config.ts +1 -1
- package/templates/03-minimal/package.json +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts +0 -9
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js +0 -24
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts +0 -24
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js +0 -80
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts +0 -13
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js +0 -146
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts +0 -19
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js +0 -134
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts +0 -10
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js +0 -2
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts +0 -13
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js +0 -96
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js.map +0 -1
- package/src/internal/builtin-plugins/solidity-test/inline-config/constants.ts +0 -25
- package/src/internal/builtin-plugins/solidity-test/inline-config/helpers.ts +0 -110
- package/src/internal/builtin-plugins/solidity-test/inline-config/index.ts +0 -285
- package/src/internal/builtin-plugins/solidity-test/inline-config/parsing.ts +0 -187
- package/src/internal/builtin-plugins/solidity-test/inline-config/types.ts +0 -9
- package/src/internal/builtin-plugins/solidity-test/inline-config/validation.ts +0 -144
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# hardhat
|
|
2
2
|
|
|
3
|
+
## 3.16.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#8597](https://github.com/NomicFoundation/hardhat/pull/8597) [`6684224`](https://github.com/NomicFoundation/hardhat/commit/6684224124c48fe84904797f3c2d0c715014e64c) Thanks [@kanej](https://github.com/kanej)! - Added slang-solx compiler support as a Hardhat plugin.
|
|
8
|
+
|
|
9
|
+
## 3.15.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#8457](https://github.com/NomicFoundation/hardhat/pull/8457) [`48286e0`](https://github.com/NomicFoundation/hardhat/commit/48286e0a69b49d814689073ce9897ac1b007ac19) Thanks [@ChristopherDedominici](https://github.com/ChristopherDedominici)! - Improve compilation speed for Solidity test runs by porting inline configuration parsing to Rust.
|
|
14
|
+
|
|
15
|
+
- [#8541](https://github.com/NomicFoundation/hardhat/pull/8541) [`ec737a2`](https://github.com/NomicFoundation/hardhat/commit/ec737a2894162b4e59aa22dc95518deba4027003) Thanks [@kanej](https://github.com/kanej)! - The project templates have been updated to Solidity 0.8.34 and forge-std v1.16.2.
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [#8578](https://github.com/NomicFoundation/hardhat/pull/8578) [`d88f769`](https://github.com/NomicFoundation/hardhat/commit/d88f76989e90987a5e454c23f0c5f3fa2e07af6d) Thanks [@kanej](https://github.com/kanej)! - Support hyphens in compiler type names.
|
|
20
|
+
|
|
3
21
|
## 3.14.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
|
@@ -9,7 +9,7 @@ declare module "../../../types/config.js" {
|
|
|
9
9
|
* The types of the values don't matter; we use `true` as a convention.
|
|
10
10
|
*
|
|
11
11
|
* By default, only "solc" is provided. Plugins can extend this via
|
|
12
|
-
* declaration merging to add new compiler types (e.g. "
|
|
12
|
+
* declaration merging to add new compiler types (e.g. "slang-solx").
|
|
13
13
|
*/
|
|
14
14
|
interface SolidityCompilerTypeDefinitions {
|
|
15
15
|
solc: true;
|
|
@@ -266,7 +266,7 @@ declare module "../../../types/hooks.js" {
|
|
|
266
266
|
/**
|
|
267
267
|
* Hook to obtain a Compiler instance for a given compiler configuration.
|
|
268
268
|
* The default handler returns a solc compiler. Plugins can intercept to
|
|
269
|
-
* return their own compiler (e.g. SlangSolxCompiler for type: "
|
|
269
|
+
* return their own compiler (e.g. SlangSolxCompiler for type: "slang-solx").
|
|
270
270
|
*
|
|
271
271
|
* @param context The hook context.
|
|
272
272
|
* @param compilerConfig The compiler configuration to get a compiler for.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edr-artifacts.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,QAAQ,IAAI,WAAW,EACxB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"edr-artifacts.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,QAAQ,IAAI,WAAW,EACxB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAC6E,CAAC;AAE9G;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiC/B;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAwFpC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
|
|
2
2
|
import { readBinaryFile } from "@nomicfoundation/hardhat-utils/fs";
|
|
3
|
-
export const BUILD_INFO_FORMAT = /^solc-(?<major>\d+)_(?<minor>\d+)_(?<patch>\d+)(?:-(?<compilerType>[a-zA-Z][a-zA-Z0-9]*))?-[0-9a-fA-F]*$/;
|
|
3
|
+
export const BUILD_INFO_FORMAT = /^solc-(?<major>\d+)_(?<minor>\d+)_(?<patch>\d+)(?:-(?<compilerType>[a-zA-Z][a-zA-Z0-9-]*))?-[0-9a-fA-F]*$/;
|
|
4
4
|
/**
|
|
5
5
|
* This function returns all the build infos and associated outputs.
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edr-artifacts.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAYnE,MAAM,CAAC,MAAM,iBAAiB,GAC5B,
|
|
1
|
+
{"version":3,"file":"edr-artifacts.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CollectedStruct } from "./ast-walker.js";
|
|
2
2
|
export declare const SELECTED_CONFLICT_REMEDIATION = "Rename one of the structs, or scope your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts` so that only one of them is selected.";
|
|
3
|
-
export declare const DEPENDENCY_CONFLICT_REMEDIATION = "Rename one of the structs so the name has a single definition. The clashing name is pulled in as a dependency of a selected struct,
|
|
3
|
+
export declare const DEPENDENCY_CONFLICT_REMEDIATION = "Rename one of the structs so the name has a single definition. The clashing name is pulled in as a dependency of a selected struct, but none of its definitions is in a selected source, so you can also resolve the conflict with your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts`: include the source containing the canonical definition so it wins the clash, or deselect the struct that depends on it if you don't need it.";
|
|
4
4
|
/**
|
|
5
5
|
* Produces the flat list of canonical EIP-712 type strings expected by EDR.
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,eAAO,MAAM,6BAA6B,gKACqH,CAAC;AAEhK,eAAO,MAAM,+BAA+B,
|
|
1
|
+
{"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,eAAO,MAAM,6BAA6B,gKACqH,CAAC;AAEhK,eAAO,MAAM,+BAA+B,ucAC0Z,CAAC;AAEvc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EAAE,EAC1B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,MAAM,EAAE,CAuCV"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HardhatError } from "@nomicfoundation/hardhat-errors";
|
|
2
2
|
export const SELECTED_CONFLICT_REMEDIATION = "Rename one of the structs, or scope your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts` so that only one of them is selected.";
|
|
3
|
-
export const DEPENDENCY_CONFLICT_REMEDIATION = "Rename one of the structs so the name has a single definition. The clashing name is pulled in as a dependency of a selected struct,
|
|
3
|
+
export const DEPENDENCY_CONFLICT_REMEDIATION = "Rename one of the structs so the name has a single definition. The clashing name is pulled in as a dependency of a selected struct, but none of its definitions is in a selected source, so you can also resolve the conflict with your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts`: include the source containing the canonical definition so it wins the clash, or deselect the struct that depends on it if you don't need it.";
|
|
4
4
|
/**
|
|
5
5
|
* Produces the flat list of canonical EIP-712 type strings expected by EDR.
|
|
6
6
|
*
|
|
@@ -174,12 +174,14 @@ function transitiveDeps(root, byName) {
|
|
|
174
174
|
* - Both sides selected: throw immediately — genuinely ambiguous which to
|
|
175
175
|
* emit.
|
|
176
176
|
* - Current side non-selected: defer; the stored definition keeps the name.
|
|
177
|
-
* Throw only if the name
|
|
178
|
-
* transitive deps), since then which copy got
|
|
179
|
-
* iteration order.
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
* run
|
|
177
|
+
* Throw only if the name has no selected definition AND is reachable from
|
|
178
|
+
* a selected struct (its transitive deps), since only then which copy got
|
|
179
|
+
* inlined would depend on iteration order. A name with a selected
|
|
180
|
+
* definition always resolves to it deterministically (selected structs
|
|
181
|
+
* come first), so a non-selected struct that shares a name with a
|
|
182
|
+
* selected one never aborts the run — even when that name is also a
|
|
183
|
+
* dependency of another selected struct. Names unreachable from the
|
|
184
|
+
* selected set are likewise silently deduped (first wins).
|
|
183
185
|
*/
|
|
184
186
|
function indexByName(structs, selectedSources, selectedNames) {
|
|
185
187
|
const byName = new Map();
|
|
@@ -214,9 +216,9 @@ function indexByName(structs, selectedSources, selectedNames) {
|
|
|
214
216
|
}
|
|
215
217
|
// Non-selected side, so the stored definition (selected if the name has
|
|
216
218
|
// one, since selected sources come first) keeps the name. Defer: throw
|
|
217
|
-
// later only if the name
|
|
218
|
-
// name with a selected
|
|
219
|
-
// must not abort.
|
|
219
|
+
// later only if the name has no selected definition and is reachable from
|
|
220
|
+
// a selected struct. Sharing a name with a selected definition or an
|
|
221
|
+
// unreferenced struct is harmless and must not abort.
|
|
220
222
|
if (!deferredConflicts.has(struct.name)) {
|
|
221
223
|
deferredConflicts.set(struct.name, {
|
|
222
224
|
firstSource: sourceByName.get(struct.name) ?? "<unknown>",
|
|
@@ -227,7 +229,7 @@ function indexByName(structs, selectedSources, selectedNames) {
|
|
|
227
229
|
if (deferredConflicts.size > 0) {
|
|
228
230
|
const reachable = reachableFromSelected(byName, selectedNames);
|
|
229
231
|
for (const [name, sources] of deferredConflicts) {
|
|
230
|
-
if (reachable.has(name)) {
|
|
232
|
+
if (reachable.has(name) && !selectedNames.has(name)) {
|
|
231
233
|
throw new HardhatError(HardhatError.ERRORS.CORE.SOLIDITY_TESTS.EIP712_DUPLICATE_STRUCT_NAME, { name, ...sources, remediation: DEPENDENCY_CONFLICT_REMEDIATION });
|
|
232
234
|
}
|
|
233
235
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,MAAM,CAAC,MAAM,6BAA6B,GACxC,6JAA6J,CAAC;AAEhK,MAAM,CAAC,MAAM,+BAA+B,GAC1C,
|
|
1
|
+
{"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
import type { ArtifactId } from "@nomicfoundation/edr";
|
|
1
|
+
import type { ArtifactId, InlineConfigError } from "@nomicfoundation/edr";
|
|
2
2
|
export declare function formatArtifactId(artifactId: ArtifactId, sourceNameToUserSourceName: Map<string, string>): string;
|
|
3
|
+
/**
|
|
4
|
+
* Formats the inline test configuration problems that EDR reports, one per
|
|
5
|
+
* line, each located at the user-facing path of the source it was found in.
|
|
6
|
+
*/
|
|
7
|
+
export declare function formatInlineConfigErrors(errors: InlineConfigError[], sourceNameToUserSourceName: Map<string, string>): string;
|
|
3
8
|
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,MAAM,CAKR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,MAAM,CAaR"}
|
|
@@ -2,4 +2,45 @@ export function formatArtifactId(artifactId, sourceNameToUserSourceName) {
|
|
|
2
2
|
const sourceName = sourceNameToUserSourceName.get(artifactId.source) ?? artifactId.source;
|
|
3
3
|
return `${sourceName}:${artifactId.name}`;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Formats the inline test configuration problems that EDR reports, one per
|
|
7
|
+
* line, each located at the user-facing path of the source it was found in.
|
|
8
|
+
*/
|
|
9
|
+
export function formatInlineConfigErrors(errors, sourceNameToUserSourceName) {
|
|
10
|
+
return errors
|
|
11
|
+
.map((error) => {
|
|
12
|
+
const sourceName = sourceNameToUserSourceName.get(error.sourceName) ?? error.sourceName;
|
|
13
|
+
if (error.kind === "source") {
|
|
14
|
+
return `- ${sourceName}: ${formatInlineConfigSourceProblem(error.problem)}`;
|
|
15
|
+
}
|
|
16
|
+
return `- ${sourceName}:${error.line}: ${error.contract}.${error.function}: ${formatInlineConfigDirectiveProblem(error.problem)}`;
|
|
17
|
+
})
|
|
18
|
+
.join("\n");
|
|
19
|
+
}
|
|
20
|
+
function formatInlineConfigDirectiveProblem(problem) {
|
|
21
|
+
switch (problem.kind) {
|
|
22
|
+
case "InlineConfigInvalidSyntax":
|
|
23
|
+
return `missing "=" in "${problem.directive}"`;
|
|
24
|
+
case "InlineConfigUnsupportedProfile":
|
|
25
|
+
return `unsupported profile "${problem.profile}". Only the "default" profile is supported`;
|
|
26
|
+
case "InlineConfigInvalidKey":
|
|
27
|
+
return `invalid key "${problem.key}"`;
|
|
28
|
+
case "InlineConfigInvalidKeyForTestType":
|
|
29
|
+
return `key "${problem.key}" is not valid for ${problem.testType} tests`;
|
|
30
|
+
case "InlineConfigInvalidValue":
|
|
31
|
+
return `invalid value "${problem.value}" for key "${problem.key}". Expected a ${problem.expected}`;
|
|
32
|
+
case "InlineConfigDuplicateKey":
|
|
33
|
+
return `duplicate key "${problem.key}"`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function formatInlineConfigSourceProblem(problem) {
|
|
37
|
+
switch (problem.kind) {
|
|
38
|
+
case "InlineConfigInvalidSolcVersion":
|
|
39
|
+
return "the Solidity version of this source is not supported by the inline configuration parser";
|
|
40
|
+
case "InlineConfigSourceFileNotFound":
|
|
41
|
+
return `the source file could not be read at "${problem.path}": ${problem.reason}`;
|
|
42
|
+
case "InlineConfigDirectiveLocation":
|
|
43
|
+
return `a directive of ${problem.contract}.${problem.function} could not be located: ${problem.reason}`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
5
46
|
//# sourceMappingURL=formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/formatters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/formatters.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,0BAA+C;IAE/C,MAAM,UAAU,GACd,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;IAEzE,OAAO,GAAG,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA2B,EAC3B,0BAA+C;IAE/C,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,UAAU,GACd,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC;QAEvE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,UAAU,KAAK,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,CAAC;QAED,OAAO,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACpI,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,kCAAkC,CACzC,OAAqC;IAErC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,2BAA2B;YAC9B,OAAO,mBAAmB,OAAO,CAAC,SAAS,GAAG,CAAC;QACjD,KAAK,gCAAgC;YACnC,OAAO,wBAAwB,OAAO,CAAC,OAAO,4CAA4C,CAAC;QAC7F,KAAK,wBAAwB;YAC3B,OAAO,gBAAgB,OAAO,CAAC,GAAG,GAAG,CAAC;QACxC,KAAK,mCAAmC;YACtC,OAAO,QAAQ,OAAO,CAAC,GAAG,sBAAsB,OAAO,CAAC,QAAQ,QAAQ,CAAC;QAC3E,KAAK,0BAA0B;YAC7B,OAAO,kBAAkB,OAAO,CAAC,KAAK,cAAc,OAAO,CAAC,GAAG,iBAAiB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrG,KAAK,0BAA0B;YAC7B,OAAO,kBAAkB,OAAO,CAAC,GAAG,GAAG,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,OAAkC;IAElC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gCAAgC;YACnC,OAAO,yFAAyF,CAAC;QACnG,KAAK,gCAAgC;YACnC,OAAO,yCAAyC,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACrF,KAAK,+BAA+B;YAClC,OAAO,kBAAkB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,0BAA0B,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5G,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { TestsStream } from "./types.js";
|
|
1
2
|
import type { ChainType } from "../../../types/network.js";
|
|
2
3
|
import type { SolidityTestProfileConfig } from "../../../types/test.js";
|
|
3
|
-
import type { SolidityTestRunnerConfigArgs, Artifact, ObservabilityConfig
|
|
4
|
+
import type { SolidityTestRunnerConfigArgs, Artifact, ObservabilityConfig } from "@nomicfoundation/edr";
|
|
5
|
+
import type { Writable } from "node:stream";
|
|
4
6
|
interface SolidityTestConfigParams {
|
|
5
7
|
chainType: ChainType;
|
|
6
8
|
projectRoot: string;
|
|
@@ -11,11 +13,22 @@ interface SolidityTestConfigParams {
|
|
|
11
13
|
testPattern?: string;
|
|
12
14
|
excludeTestPattern?: string;
|
|
13
15
|
generateGasReport: boolean;
|
|
14
|
-
testFunctionOverrides?: TestFunctionOverride[];
|
|
15
16
|
eip712CanonicalTypes?: string[];
|
|
17
|
+
testSourcePaths?: Record<string, string>;
|
|
16
18
|
}
|
|
17
|
-
export declare function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainType, projectRoot, hardfork, config, verbosity, observability, testPattern, excludeTestPattern, generateGasReport,
|
|
19
|
+
export declare function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainType, projectRoot, hardfork, config, verbosity, observability, testPattern, excludeTestPattern, generateGasReport, eip712CanonicalTypes, testSourcePaths, }: SolidityTestConfigParams): Promise<SolidityTestRunnerConfigArgs>;
|
|
18
20
|
export declare function isTestSuiteArtifact(artifact: Artifact): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Writes the test reporter's output to `output` and waits for the test run to
|
|
23
|
+
* complete, returning the error that failed it, if any.
|
|
24
|
+
*
|
|
25
|
+
* @param runStream The runner's stream of test events.
|
|
26
|
+
* @param reporterStream The reporter's stream of output, composed from
|
|
27
|
+
* `runStream`.
|
|
28
|
+
* @param output Where the reporter's output is written to.
|
|
29
|
+
* @returns The error that failed the run, or `undefined` if it succeeded.
|
|
30
|
+
*/
|
|
31
|
+
export declare function writeTestRunOutput(runStream: TestsStream, reporterStream: NodeJS.ReadableStream, output: Writable): Promise<unknown>;
|
|
19
32
|
export declare function warnDeprecatedTestFail(artifact: Artifact, sourceNameToUserSourceName: Map<string, string>): void;
|
|
20
33
|
export {};
|
|
21
34
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EACV,4BAA4B,EAE5B,QAAQ,EACR,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2B5C,UAAU,wBAAwB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAsB,gDAAgD,CAAC,EACrE,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAChB,EAAE,wBAAwB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAmHlE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAgB/D;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAkClB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CAkBN"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { finished } from "node:stream/promises";
|
|
1
2
|
import { styleText } from "node:util";
|
|
2
3
|
import { opGenesisState, l1GenesisState, FsAccessPermission, CollectStackTraces, opHardforkFromString, l1HardforkFromString, } from "@nomicfoundation/edr";
|
|
3
4
|
import { toBigInt } from "@nomicfoundation/hardhat-utils/bigint";
|
|
@@ -8,7 +9,7 @@ import { hardhatHardforkToEdrSpecId } from "../network-manager/edr/utils/convert
|
|
|
8
9
|
import { warnIfExperimentalHardfork } from "../network-manager/edr/utils/hardfork.js";
|
|
9
10
|
import { verbosityToIncludeTraces } from "../network-manager/edr/utils/trace-formatters.js";
|
|
10
11
|
import { formatArtifactId } from "./formatters.js";
|
|
11
|
-
export async function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainType, projectRoot, hardfork, config, verbosity, observability, testPattern, excludeTestPattern, generateGasReport,
|
|
12
|
+
export async function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainType, projectRoot, hardfork, config, verbosity, observability, testPattern, excludeTestPattern, generateGasReport, eip712CanonicalTypes, testSourcePaths, }) {
|
|
12
13
|
const fsPermissions = [
|
|
13
14
|
config.fsPermissions?.readWriteFile?.map((p) => ({
|
|
14
15
|
access: FsAccessPermission.ReadWriteFile,
|
|
@@ -95,8 +96,8 @@ export async function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainTy
|
|
|
95
96
|
collectStackTraces: shouldAlwaysCollectStackTraces
|
|
96
97
|
? CollectStackTraces.Always
|
|
97
98
|
: CollectStackTraces.OnFailure,
|
|
98
|
-
testFunctionOverrides,
|
|
99
99
|
eip712CanonicalTypes,
|
|
100
|
+
testSourcePaths,
|
|
100
101
|
};
|
|
101
102
|
}
|
|
102
103
|
export function isTestSuiteArtifact(artifact) {
|
|
@@ -113,6 +114,48 @@ export function isTestSuiteArtifact(artifact) {
|
|
|
113
114
|
return false;
|
|
114
115
|
});
|
|
115
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Writes the test reporter's output to `output` and waits for the test run to
|
|
119
|
+
* complete, returning the error that failed it, if any.
|
|
120
|
+
*
|
|
121
|
+
* @param runStream The runner's stream of test events.
|
|
122
|
+
* @param reporterStream The reporter's stream of output, composed from
|
|
123
|
+
* `runStream`.
|
|
124
|
+
* @param output Where the reporter's output is written to.
|
|
125
|
+
* @returns The error that failed the run, or `undefined` if it succeeded.
|
|
126
|
+
*/
|
|
127
|
+
export async function writeTestRunOutput(runStream, reporterStream, output) {
|
|
128
|
+
const outputStream = reporterStream.pipe(output);
|
|
129
|
+
// When the runner reports an error it destroys the run stream with it, which
|
|
130
|
+
// also destroys the reporter stream composed from it. `pipe()` neither
|
|
131
|
+
// forwards that error to the output stream nor ends it, so without this
|
|
132
|
+
// listener the reporter stream emits an `error` event with nothing listening,
|
|
133
|
+
// crashing the process, and `finished(outputStream)` below never settles.
|
|
134
|
+
// Attached before any `await` so that it can't miss the event.
|
|
135
|
+
let reporterStreamError;
|
|
136
|
+
reporterStream.on("error", (error) => {
|
|
137
|
+
reporterStreamError = error;
|
|
138
|
+
if (!outputStream.writableEnded) {
|
|
139
|
+
outputStream.end();
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
let runError;
|
|
143
|
+
try {
|
|
144
|
+
// NOTE: We're awaiting the original run stream to finish to catch any
|
|
145
|
+
// errors produced by the runner.
|
|
146
|
+
await finished(runStream);
|
|
147
|
+
// We also await the output stream to finish, as we want to wait for it
|
|
148
|
+
// to avoid returning before the whole output was generated.
|
|
149
|
+
await finished(outputStream);
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
runError = error;
|
|
153
|
+
}
|
|
154
|
+
// Neither await above surfaces an error that reached the reporter stream
|
|
155
|
+
// without failing the run stream, e.g. one thrown by the reporter after the
|
|
156
|
+
// run stream already ended.
|
|
157
|
+
return runError ?? reporterStreamError;
|
|
158
|
+
}
|
|
116
159
|
export function warnDeprecatedTestFail(artifact, sourceNameToUserSourceName) {
|
|
117
160
|
const abi = JSON.parse(artifact.contract.abi);
|
|
118
161
|
abi.forEach(({ type, name }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EAER,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAY9B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,QAAQ,EAAE,EACrB,YAAY,EAAE,UAAU,EAAE,EAC1B,gBAAgB,EAAE,4BAA4B,EAC9C,aAAa,EAAE,wBAAwB,EACvC,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,WAAW,CA2Fb"}
|
|
@@ -3,7 +3,7 @@ import { HardhatError } from "@nomicfoundation/hardhat-errors";
|
|
|
3
3
|
import { ensureError } from "@nomicfoundation/hardhat-utils/error";
|
|
4
4
|
import { hardhatChainTypeToEdrChainType } from "../../edr/chain-type.js";
|
|
5
5
|
import { getGlobalEdrContext } from "../../edr/context.js";
|
|
6
|
-
import { formatArtifactId } from "./formatters.js";
|
|
6
|
+
import { formatArtifactId, formatInlineConfigErrors } from "./formatters.js";
|
|
7
7
|
/**
|
|
8
8
|
* Run all the given solidity tests and returns the stream of results.
|
|
9
9
|
*
|
|
@@ -64,6 +64,15 @@ export function run(chainType, artifacts, testSuiteIds, testRunnerConfig, tracin
|
|
|
64
64
|
}
|
|
65
65
|
catch (error) {
|
|
66
66
|
ensureError(error);
|
|
67
|
+
// EDR reports the problems it found in the user's inline test config as
|
|
68
|
+
// an `inlineConfigErrors` property on the error. Report them as a
|
|
69
|
+
// dedicated Hardhat error instead of an unhandled EDR error.
|
|
70
|
+
if (hasInlineConfigErrors(error)) {
|
|
71
|
+
stream.destroy(new HardhatError(HardhatError.ERRORS.CORE.SOLIDITY_TESTS.INVALID_INLINE_CONFIG, {
|
|
72
|
+
errors: formatInlineConfigErrors(error.inlineConfigErrors, sourceNameToUserSourceName),
|
|
73
|
+
}));
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
67
76
|
stream.destroy(new HardhatError(HardhatError.ERRORS.CORE.SOLIDITY_TESTS
|
|
68
77
|
.UNHANDLED_EDR_ERROR_SOLIDITY_TESTS, {
|
|
69
78
|
error: error.message,
|
|
@@ -72,4 +81,12 @@ export function run(chainType, artifacts, testSuiteIds, testRunnerConfig, tracin
|
|
|
72
81
|
})();
|
|
73
82
|
return stream;
|
|
74
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* EDR attaches the structured inline-config problems to the error that rejects
|
|
86
|
+
* `runSolidityTests`, but as a property of an `Error` rather than a typed
|
|
87
|
+
* error class, so we have to assert their type here.
|
|
88
|
+
*/
|
|
89
|
+
function hasInlineConfigErrors(error) {
|
|
90
|
+
return ("inlineConfigErrors" in error && Array.isArray(error.inlineConfigErrors));
|
|
91
|
+
}
|
|
75
92
|
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,sBAAsB,CAAC;AA8B9B,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,QAAA,MAAM,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CAoUhE,CAAC;AAqEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { finished } from "node:stream/promises";
|
|
2
1
|
import { HardhatError } from "@nomicfoundation/hardhat-errors";
|
|
3
2
|
import { exists } from "@nomicfoundation/hardhat-utils/fs";
|
|
4
3
|
import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
|
|
@@ -12,8 +11,7 @@ import { getGasAnalyticsManager } from "../gas-analytics/helpers/accessors.js";
|
|
|
12
11
|
import { edrGasReportToHardhatGasMeasurements } from "../network-manager/edr/utils/convert-to-edr.js";
|
|
13
12
|
import { buildEdrArtifactsWithMetadata, getBuildInfosAndOutputs, } from "./edr-artifacts.js";
|
|
14
13
|
import { collectEip712CanonicalTypes } from "./eip712/index.js";
|
|
15
|
-
import { isTestSuiteArtifact, warnDeprecatedTestFail, solidityTestConfigToSolidityTestRunnerConfigArgs, } from "./helpers.js";
|
|
16
|
-
import { getTestFunctionOverrides } from "./inline-config/index.js";
|
|
14
|
+
import { isTestSuiteArtifact, warnDeprecatedTestFail, solidityTestConfigToSolidityTestRunnerConfigArgs, writeTestRunOutput, } from "./helpers.js";
|
|
17
15
|
import { testReporter } from "./reporter.js";
|
|
18
16
|
import { run } from "./runner.js";
|
|
19
17
|
import { DEFAULT_TEST_PROFILE } from "./test-profiles.js";
|
|
@@ -113,6 +111,16 @@ const runSolidityTests = async ({ testFiles, chainType, grep, grepExclude, noCom
|
|
|
113
111
|
warnDeprecatedTestFail(edrArtifact, sourceNameToUserSourceName);
|
|
114
112
|
}
|
|
115
113
|
const testSuiteIds = testSuiteArtifacts.map(({ edrArtifact }) => edrArtifact.id);
|
|
114
|
+
// Maps each test suite's solc source name to its absolute path on disk, so
|
|
115
|
+
// EDR can read the inline test configuration from the sources. A source
|
|
116
|
+
// without an entry has no inline configuration collected.
|
|
117
|
+
//
|
|
118
|
+
// EDR skips every source that carries no inline config directive, so there's
|
|
119
|
+
// no need to filter these paths here.
|
|
120
|
+
const testSourcePaths = Object.fromEntries(testSuiteArtifacts.map(({ userSourceName, edrArtifact }) => [
|
|
121
|
+
edrArtifact.id.source,
|
|
122
|
+
resolveFromRoot(hre.config.paths.root, userSourceName),
|
|
123
|
+
]));
|
|
116
124
|
console.log("Running Solidity tests");
|
|
117
125
|
console.log();
|
|
118
126
|
let includesFailures = false;
|
|
@@ -139,7 +147,6 @@ const runSolidityTests = async ({ testFiles, chainType, grep, grepExclude, noCom
|
|
|
139
147
|
hardfork = networkConfig.hardfork;
|
|
140
148
|
}
|
|
141
149
|
}
|
|
142
|
-
const testFunctionOverrides = await getTestFunctionOverrides(testSuiteArtifacts, allBuildInfosAndOutputs);
|
|
143
150
|
const eip712CanonicalTypes = await collectEip712CanonicalTypes(allBuildInfosAndOutputs, sourceNameToUserSourceName, eip712Types);
|
|
144
151
|
const testRunnerConfig = await solidityTestConfigToSolidityTestRunnerConfigArgs({
|
|
145
152
|
chainType,
|
|
@@ -152,8 +159,8 @@ const runSolidityTests = async ({ testFiles, chainType, grep, grepExclude, noCom
|
|
|
152
159
|
excludeTestPattern: grepExclude,
|
|
153
160
|
generateGasReport: hre.globalOptions.gasStats ||
|
|
154
161
|
hre.globalOptions.gasStatsJson !== undefined,
|
|
155
|
-
testFunctionOverrides,
|
|
156
162
|
eip712CanonicalTypes,
|
|
163
|
+
testSourcePaths,
|
|
157
164
|
});
|
|
158
165
|
const tracingConfig = {
|
|
159
166
|
buildInfos: allBuildInfosAndOutputs.map(({ buildInfo, output }) => ({
|
|
@@ -207,17 +214,9 @@ const runSolidityTests = async ({ testFiles, chainType, grep, grepExclude, noCom
|
|
|
207
214
|
}
|
|
208
215
|
}
|
|
209
216
|
});
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
// errors produced by the runner.
|
|
214
|
-
await finished(runStream);
|
|
215
|
-
// We also await the output stream to finish, as we want to wait for it
|
|
216
|
-
// to avoid returning before the whole output was generated.
|
|
217
|
-
await finished(outputStream);
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
console.error(error);
|
|
217
|
+
const testRunError = await writeTestRunOutput(runStream, testReporterStream, createNonClosingWriter(process.stdout));
|
|
218
|
+
if (testRunError !== undefined) {
|
|
219
|
+
console.error(testRunError);
|
|
221
220
|
includesErrors = true;
|
|
222
221
|
}
|
|
223
222
|
await hre.hooks.runHandlerChain("test", "onTestWorkerDone", ["solidity"], async () => { });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"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"}
|