Source code

Revision control

Copy as Markdown

Other Tools

import { assert } from '../util/util.js';
/** Metadata about tests (that can't be derived at runtime). */
export type TestMetadata = {
/**
* Estimated average time-per-subcase, in milliseconds.
* This is used to determine chunking granularity when exporting to WPT with
* chunking enabled (like out-wpt/cts-chunked2sec.https.html).
*/
subcaseMS: number;
};
export type TestMetadataListing = {
[testQuery: string]: TestMetadata;
};
export function loadMetadataForSuite(suiteDir: string): TestMetadataListing | null {
assert(typeof require !== 'undefined', 'loadMetadataForSuite is only implemented on Node');
/* eslint-disable-next-line n/no-restricted-require */
const fs = require('fs');
const metadataFile = `${suiteDir}/listing_meta.json`;
if (!fs.existsSync(metadataFile)) {
return null;
}
const metadata: TestMetadataListing = JSON.parse(fs.readFileSync(metadataFile, 'utf8'));
return metadata;
}