-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathverify.mjs
More file actions
25 lines (25 loc) · 933 Bytes
/
Copy pathverify.mjs
File metadata and controls
25 lines (25 loc) · 933 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { readFileSync, writeFileSync } from "fs";
import { verify } from "./index.js";
const protocol = JSON.parse(readFileSync("protocol.steps", "utf8"));
const input = protocol.canonical_input;
const expectedResult = protocol.expected_result;
const result = verify(input);
const output = {
schema: "riverbraid.gold.verify.output",
version: "1.0.0",
repo: "Riverbraid-Action-Gold",
ring: 1,
petal: "Action-Gold",
invariant: "ACTION_STATIONARY",
status: result.pass === true && result.stationary === expectedResult ? "VERIFIED" : "FAILED",
result: result.stationary,
expected_result: expectedResult,
canonical_signal: result.signal,
canonical_reason: result.reason
};
writeFileSync("verify-output.json", JSON.stringify(output, null, 2) + "\n", "utf8");
if (output.status !== "VERIFIED") {
console.error("ACTION_GOLD_VERIFICATION_FAILED");
process.exit(1);
}
console.log("ACTION_GOLD_VERIFICATION_SUCCESS");