UNPKG

perfrunner

Version:

Command-line-interface for the perfrunner - automated UI performance test tool

45 lines (44 loc) 2.37 kB
"use strict"; 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;