Files
scriptc/tests/corpus/node24-fs-statfs-callbacks.cjs

32 lines
1.3 KiB
JavaScript

const fs = require("node:fs");
const { pathToFileURL } = require("node:url");
const { join } = require("node:path");
async function main() {
const root = fs.mkdtempSync(join(require("node:os").tmpdir(), "scriptc-statfs-callback-"));
try {
let returned = false;
await new Promise((resolve, reject) => {
const result = fs.statfs(pathToFileURL(root), (err, stats) => {
if (err) reject(err); else { console.log("default", returned, typeof stats.bsize, stats.blocks > 0); resolve(undefined); }
});
console.log("return", result);
returned = true;
});
const stored = fs.statfs;
await new Promise((resolve, reject) => stored(Buffer.from(root), { bigint: true }, (err, stats) => {
if (err) reject(err); else { console.log("captured", err, typeof stats.bsize, stats.blocks * stats.bsize > 0n); resolve(undefined); }
}));
returned = false;
const missing = join(root, "absent", "nested");
await new Promise(resolve => {
fs.statfs(missing, (...args) => {
const err = args[0], stats = args[1];
console.log("error", returned, args.length, stats, err.name, err.code, err.message.includes("statfs"), err.message.includes(missing));
resolve(undefined);
});
returned = true;
});
} finally { fs.rmSync(root, { recursive: true, force: true }); }
}
main();