Skip to content

Commit a62c266

Browse files
committed
f: gha
1 parent bc8c7a4 commit a62c266

File tree

2 files changed

+113
-1
lines changed

2 files changed

+113
-1
lines changed

tests/hash-and-sign-all.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ let Zora = require("zora");
44

55
/** @typedef {import('../dashtx.js').TxInputHashable} TxInputHashable */
66
/** @typedef {import('../dashtx.js').TxInputSigned} TxInputSigned */
7-
let Tx = require("../dashtx.js");
7+
let Tx = require("../");
88

99
//@ts-ignore
1010
let Secp256k1 = exports.nobleSecp256k1 || require("@dashincubator/secp256k1");

tests/index.js

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
"use strict";
2+
3+
let ChildProcess = require("child_process");
4+
let Fs = require("node:fs/promises");
5+
let Path = require("node:path");
6+
7+
console.log("################## yoy oyoyo yoyoy");
8+
9+
async function main() {
10+
// console.info(` TOTAL: ${count}`);
11+
// console.info(` PASS: ${passes}`);
12+
// console.info(` FAIL: ${failures}`);
13+
// console.info(` SKIP: 0`);
14+
// console.info(``);
15+
16+
console.info("TAP version 13");
17+
18+
let dirents = await Fs.readdir(__dirname, { withFileTypes: true });
19+
20+
let failures = 0;
21+
let count = 0;
22+
for (let dirent of dirents) {
23+
if (dirent.name === "index.js") {
24+
continue;
25+
}
26+
27+
count += 1;
28+
let direntPath = Path.join(__dirname, dirent.name);
29+
let relPath = Path.relative(".", direntPath);
30+
31+
let success = await handleEach(count, relPath);
32+
if (!success) {
33+
failures += 1;
34+
}
35+
}
36+
37+
let passes = count - failures;
38+
console.info(``);
39+
console.info(`1..${count}`);
40+
console.info(`# tests ${count}`);
41+
console.info(`# pass ${passes}`);
42+
console.info(`# fail ${failures}`);
43+
console.info(`# skip 0`);
44+
45+
if (failures !== 0) {
46+
process.exit(1);
47+
}
48+
}
49+
50+
async function handleEach(count, relPath) {
51+
let success = await exec("node", [relPath])
52+
.then(function (result) {
53+
console.info(`ok ${count} - ${relPath}`);
54+
return true;
55+
})
56+
.catch(function (err) {
57+
console.info(`not ok ${count} - ${relPath}`);
58+
if (err.code) {
59+
console.info(` # Error: ${err.code}`);
60+
}
61+
if (err.stderr) {
62+
console.info(` # Stderr: ${err.stderr}`);
63+
}
64+
return false;
65+
});
66+
67+
return success;
68+
}
69+
70+
async function exec(exe, args) {
71+
return new Promise(function (resolve, reject) {
72+
let cmd = ChildProcess.spawn(exe, args);
73+
74+
let stdout = [];
75+
let stderr = [];
76+
77+
cmd.stdout.on("data", function (data) {
78+
stdout.push(data.toString("utf8"));
79+
});
80+
81+
cmd.stderr.on("data", function (data) {
82+
stderr.push(data.toString("utf8"));
83+
});
84+
85+
cmd.on("close", function (code) {
86+
let result = {
87+
code: code,
88+
stdout: stdout.join(""),
89+
stderr: stderr.join(""),
90+
};
91+
92+
if (!code) {
93+
resolve(result);
94+
return;
95+
}
96+
97+
let err = new Error(result.stderr);
98+
Object.assign(err, result);
99+
reject(err);
100+
});
101+
});
102+
}
103+
104+
main()
105+
.then(function () {
106+
process.exit(0);
107+
})
108+
.catch(function (err) {
109+
console.error("Fail:");
110+
console.error(err.stack || err);
111+
process.exit(1);
112+
});

0 commit comments

Comments
 (0)