Files
Portfolio/scripts/aggregate-drive-traces.mjs

15 lines
787 B
JavaScript

#!/usr/bin/env node
import { readFile } from 'node:fs/promises';
import { aggregateFiveDriveTraces } from './lib/performance-aggregation.mjs';
const args = process.argv.slice(2);
if (args[0] !== '--trust-policy' || typeof args[1] !== 'string') throw new Error('Pass --trust-policy followed by an explicit trusted public-key policy.');
const policy = JSON.parse(await readFile(args[1], 'utf8'));
const paths = args.slice(2);
if (paths.length !== 5) throw new Error('Pass exactly five explicit drive-trace.v1 JSON paths.');
const runs = [];
for (const path of paths) runs.push(JSON.parse(await readFile(path, 'utf8')));
const aggregate = aggregateFiveDriveTraces(runs, policy);
process.stdout.write(`${JSON.stringify(aggregate, null, 2)}\n`);
if (!aggregate.passes) process.exitCode = 1;