perfrunner
Version:
Command-line-interface for the perfrunner - automated UI performance test tool
45 lines (44 loc) • 2.37 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateReportSeries = void 0;
const path_1 = require("path");
const perfrunner_core_1 = require("perfrunner-core");
const async_1 = require("perfrunner-core/dist/utils/async");
const utils_1 = require("../utils");
const report_loader_1 = require("./report-loader");
function generateReport(reporterName, outputTo, data, args) {
return __awaiter(this, void 0, void 0, function* () {
const { defaultReportName = 'reporter.txt', generateReport } = yield (0, report_loader_1.loadReporter)(reporterName);
try {
const result = yield generateReport(data, args);
const fullPath = (0, path_1.join)(outputTo, defaultReportName);
(0, utils_1.writeFile)(fullPath, result);
}
catch (error) {
perfrunner_core_1.logger.error(error);
throw error;
}
return 0;
});
}
function generateReportSeries(reports) {
return __awaiter(this, void 0, void 0, function* () {
perfrunner_core_1.logger.log('generating report');
const exitCodes = yield (0, async_1.asyncToArray)((0, async_1.iterateAsync)(reports, ({ args, data, outputTo, reporterName }) => __awaiter(this, void 0, void 0, function* () {
return yield generateReport(reporterName, outputTo, data, args);
})));
const withErrors = exitCodes.some((x) => x !== 0);
perfrunner_core_1.logger.log(`reporting done ${withErrors ? 'with some errors' : 'successfully'}`);
return !!withErrors;
});
}
exports.generateReportSeries = generateReportSeries;