blob: 7d3c71c4d83300a482ab89afc12e2a1a8b0dcdf2 [file] [log] [blame]
import * as fs from 'fs';
import * as path from 'path';
/**
* Returns the output directory where tests should e.g. save screenshots.
* Screenshots saved in this directory will be uploaded to Gold.
*/
export const outputDir = () => {
// Screenshots will be saved as test undeclared outputs, which will be found at
// at //_bazel_testlogs/path/to/my/puppeteer_test/test.outputs/outputs.zip. This is true when
// running on RBE as well (e.g. "bazel test --config=remote").
//
// See the following link for more:
// https://docs.bazel.build/versions/master/test-encyclopedia.html#test-interaction-with-the-filesystem.
const undeclaredOutputsDir = process.env.TEST_UNDECLARED_OUTPUTS_DIR;
if (!undeclaredOutputsDir) {
throw new Error('required environment variable TEST_UNDECLARED_OUTPUTS_DIR is unset');
}
const outputDir = path.join(undeclaredOutputsDir, 'puppeteer-test-screenshots');
if (!fs.existsSync(outputDir)) {
fs.mkdirSync(outputDir);
}
return outputDir;
};