Skip to content

Commit f4c520a

Browse files
change fsPermissions
1 parent 4255874 commit f4c520a

File tree

4 files changed

+55
-23
lines changed

4 files changed

+55
-23
lines changed

.github/config/regression-tests.yml

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ repositories:
136136
"maxTestRejects": 1000000
137137
},
138138
"fsPermissions": {
139-
"read": [
139+
"readDirectory": [
140140
"./out-optimized"
141141
]
142142
},
@@ -230,11 +230,11 @@ repositories:
230230
"runs": 1000
231231
},
232232
"fsPermissions": {
233-
"read": [
233+
"readDirectory": [
234234
"./optimized-out",
235235
"./reference-out"
236236
],
237-
"write": [
237+
"writeFile": [
238238
"./call-metrics.txt",
239239
"./mutation-metrics.txt",
240240
"./assume-metrics.txt",
@@ -357,7 +357,7 @@ repositories:
357357
"solidityTest": {
358358
"ffi": true,
359359
"fsPermissions": {
360-
"readWrite": [
360+
"dangerouslyReadWriteDirectory": [
361361
".forge-snapshots/"
362362
]
363363
}
@@ -420,7 +420,7 @@ repositories:
420420
"solidityTest": {
421421
"blockGasLimit": BigInt(100000000),
422422
"fsPermissions": {
423-
"read": [
423+
"readDirectory": [
424424
"./test/data"
425425
]
426426
},
@@ -477,7 +477,7 @@ repositories:
477477
},
478478
"solidityTest": {
479479
"fsPermissions": {
480-
"readWrite": [
480+
"dangerouslyReadWriteDirectory": [
481481
"./"
482482
]
483483
},
@@ -603,10 +603,10 @@ repositories:
603603
"solidityTest": {
604604
"ffi": true,
605605
"fsPermissions": {
606-
"readWrite": [
606+
"dangerouslyReadWriteDirectory": [
607607
".forge-snapshots/"
608608
],
609-
"read": [
609+
"readDirectory": [
610610
"./foundry-out",
611611
"./script/config",
612612
"./test/pool-cl/bin",
@@ -692,7 +692,7 @@ repositories:
692692
"runs": 100
693693
},
694694
"fsPermissions": {
695-
"readWrite": [
695+
"dangerouslyReadWriteDirectory": [
696696
"./"
697697
]
698698
},
@@ -754,11 +754,13 @@ repositories:
754754
},
755755
"solidityTest": {
756756
"fsPermissions": {
757-
"read": [
758-
"./out-optimized",
757+
"readDirectory": [
758+
"./out-optimized"
759+
],
760+
"readFile": [
759761
"package.json"
760762
],
761-
"readWrite": [
763+
"dangerouslyReadWriteDirectory": [
762764
"./benchmark/results",
763765
"./script/"
764766
]
@@ -871,10 +873,12 @@ repositories:
871873
"blockTimestamp": BigInt(1714518000),
872874
"fsPermissions": {
873875
"read": [
874-
"./out-optimized",
876+
"./out-optimized"
877+
],
878+
"readFile": [
875879
"package.json"
876880
],
877-
"readWrite": [
881+
"dangerouslyReadWriteDirectory": [
878882
"./benchmark/results",
879883
"./cache"
880884
]

v-next/hardhat/src/internal/builtin-plugins/solidity-test/config.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@ const solidityTestUserConfigType = z.object({
1616
timeout: z.number().optional(),
1717
fsPermissions: z
1818
.object({
19-
readWrite: z.array(z.string()).optional(),
20-
read: z.array(z.string()).optional(),
21-
write: z.array(z.string()).optional(),
19+
readWriteFile: z.array(z.string()).optional(),
20+
readFile: z.array(z.string()).optional(),
21+
writeFile: z.array(z.string()).optional(),
22+
dangerouslyReadWriteDirectory: z.array(z.string()).optional(),
23+
readDirectory: z.array(z.string()).optional(),
24+
dangerouslyWriteDirectory: z.array(z.string()).optional(),
2225
})
2326
.optional(),
2427
isolate: z.boolean().optional(),

v-next/hardhat/src/internal/builtin-plugins/solidity-test/helpers.ts

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import type {
77
PathPermission,
88
Artifact,
99
ObservabilityConfig,
10+
FsAccessPermission,
1011
} from "@nomicfoundation/edr";
1112

1213
import {
@@ -39,9 +40,30 @@ export function solidityTestConfigToSolidityTestRunnerConfigArgs(
3940
testPattern?: string,
4041
): SolidityTestRunnerConfigArgs {
4142
const fsPermissions: PathPermission[] | undefined = [
42-
config.fsPermissions?.readWrite?.map((p) => ({ access: 0, path: p })) ?? [],
43-
config.fsPermissions?.read?.map((p) => ({ access: 0, path: p })) ?? [],
44-
config.fsPermissions?.write?.map((p) => ({ access: 0, path: p })) ?? [],
43+
config.fsPermissions?.readWriteFile?.map((p) => ({
44+
access: FsAccessPermission.ReadWriteFile,
45+
path: p,
46+
})) ?? [],
47+
config.fsPermissions?.readFile?.map((p) => ({
48+
access: FsAccessPermission.ReadFile,
49+
path: p,
50+
})) ?? [],
51+
config.fsPermissions?.writeFile?.map((p) => ({
52+
access: FsAccessPermission.WriteFile,
53+
path: p,
54+
})) ?? [],
55+
config.fsPermissions?.dangerouslyReadWriteDirectory?.map((p) => ({
56+
access: FsAccessPermission.DangerouslyReadWriteDirectory,
57+
path: p,
58+
})) ?? [],
59+
config.fsPermissions?.readDirectory?.map((p) => ({
60+
access: FsAccessPermission.ReadDirectory,
61+
path: p,
62+
})) ?? [],
63+
config.fsPermissions?.dangerouslyWriteDirectory?.map((p) => ({
64+
access: FsAccessPermission.DangerouslyWriteDirectory,
65+
path: p,
66+
})) ?? [],
4567
].flat(1);
4668

4769
const sender: Buffer | undefined =

v-next/hardhat/src/internal/builtin-plugins/solidity-test/type-extensions.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,12 @@ declare module "../../../types/test.js" {
1414
export interface SolidityTestUserConfig {
1515
timeout?: number;
1616
fsPermissions?: {
17-
readWrite?: string[];
18-
read?: string[];
19-
write?: string[];
17+
readWriteFile?: string[];
18+
readFile?: string[];
19+
writeFile?: string[];
20+
dangerouslyReadWriteDirectory?: string[];
21+
readDirectory?: string[];
22+
dangerouslyWriteDirectory?: string[];
2023
};
2124
isolate?: boolean;
2225
ffi?: boolean;

0 commit comments

Comments
 (0)