UNPKG

benchpress

Version:

Benchpress - a framework for e2e performance tests

41 lines 7.04 kB
import { DateWrapper, Json } from 'angular2/src/facade/lang'; import { PromiseWrapper } from 'angular2/src/facade/async'; import { bind, provide, OpaqueToken } from 'angular2/src/core/di'; import { Reporter } from '../reporter'; import { SampleDescription } from '../sample_description'; import { Options } from '../common_options'; /** * A reporter that writes results into a json file. */ export class JsonFileReporter extends Reporter { constructor(sampleDescription, path, writeFile, now) { super(); this._description = sampleDescription; this._path = path; this._writeFile = writeFile; this._now = now; } // TODO(tbosch): use static values when our transpiler supports them static get PATH() { return _PATH; } // TODO(tbosch): use static values when our transpiler supports them static get BINDINGS() { return _PROVIDERS; } reportMeasureValues(measureValues) { return PromiseWrapper.resolve(null); } reportSample(completeSample, validSample) { var content = Json.stringify({ 'description': this._description, 'completeSample': completeSample, 'validSample': validSample }); var filePath = `${this._path}/${this._description.id}_${DateWrapper.toMillis(this._now())}.json`; return this._writeFile(filePath, content); } } var _PATH = new OpaqueToken('JsonFileReporter.path'); var _PROVIDERS = [ bind(JsonFileReporter) .toFactory((sampleDescription, path, writeFile, now) => new JsonFileReporter(sampleDescription, path, writeFile, now), [SampleDescription, _PATH, Options.WRITE_FILE, Options.NOW]), provide(_PATH, { useValue: '.' }) ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9maWxlX3JlcG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYmVuY2hwcmVzcy9zcmMvcmVwb3J0ZXIvanNvbl9maWxlX3JlcG9ydGVyLnRzIl0sIm5hbWVzIjpbIkpzb25GaWxlUmVwb3J0ZXIiLCJKc29uRmlsZVJlcG9ydGVyLmNvbnN0cnVjdG9yIiwiSnNvbkZpbGVSZXBvcnRlci5QQVRIIiwiSnNvbkZpbGVSZXBvcnRlci5CSU5ESU5HUyIsIkpzb25GaWxlUmVwb3J0ZXIucmVwb3J0TWVhc3VyZVZhbHVlcyIsIkpzb25GaWxlUmVwb3J0ZXIucmVwb3J0U2FtcGxlIl0sIm1hcHBpbmdzIjoiT0FBTyxFQUFDLFdBQVcsRUFBc0IsSUFBSSxFQUFDLE1BQU0sMEJBQTBCO09BQ3ZFLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkJBQTJCO09BRWpELEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBWSxXQUFXLEVBQUMsTUFBTSxzQkFBc0I7T0FFbEUsRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhO09BQzdCLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUI7T0FFaEQsRUFBQyxPQUFPLEVBQUMsTUFBTSxtQkFBbUI7QUFFekM7O0dBRUc7QUFDSCxzQ0FBc0MsUUFBUTtJQVc1Q0EsWUFBWUEsaUJBQWlCQSxFQUFFQSxJQUFJQSxFQUFFQSxTQUFTQSxFQUFFQSxHQUFHQTtRQUNqREMsT0FBT0EsQ0FBQ0E7UUFDUkEsSUFBSUEsQ0FBQ0EsWUFBWUEsR0FBR0EsaUJBQWlCQSxDQUFDQTtRQUN0Q0EsSUFBSUEsQ0FBQ0EsS0FBS0EsR0FBR0EsSUFBSUEsQ0FBQ0E7UUFDbEJBLElBQUlBLENBQUNBLFVBQVVBLEdBQUdBLFNBQVNBLENBQUNBO1FBQzVCQSxJQUFJQSxDQUFDQSxJQUFJQSxHQUFHQSxHQUFHQSxDQUFDQTtJQUNsQkEsQ0FBQ0E7SUFoQkRELG9FQUFvRUE7SUFDcEVBLFdBQVdBLElBQUlBLEtBQWtCRSxNQUFNQSxDQUFDQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUFDQTtJQUNoREYsb0VBQW9FQTtJQUNwRUEsV0FBV0EsUUFBUUEsS0FBaUJHLE1BQU1BLENBQUNBLFVBQVVBLENBQUNBLENBQUNBLENBQUNBO0lBZXhESCxtQkFBbUJBLENBQUNBLGFBQTRCQTtRQUM5Q0ksTUFBTUEsQ0FBQ0EsY0FBY0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7SUFDdENBLENBQUNBO0lBRURKLFlBQVlBLENBQUNBLGNBQStCQSxFQUFFQSxXQUE0QkE7UUFDeEVLLElBQUlBLE9BQU9BLEdBQUdBLElBQUlBLENBQUNBLFNBQVNBLENBQUNBO1lBQzNCQSxhQUFhQSxFQUFFQSxJQUFJQSxDQUFDQSxZQUFZQTtZQUNoQ0EsZ0JBQWdCQSxFQUFFQSxjQUFjQTtZQUNoQ0EsYUFBYUEsRUFBRUEsV0FBV0E7U0FDM0JBLENBQUNBLENBQUNBO1FBQ0hBLElBQUlBLFFBQVFBLEdBQ1JBLEdBQUdBLElBQUlBLENBQUNBLEtBQUtBLElBQUlBLElBQUlBLENBQUNBLFlBQVlBLENBQUNBLEVBQUVBLElBQUlBLFdBQVdBLENBQUNBLFFBQVFBLENBQUNBLElBQUlBLENBQUNBLElBQUlBLEVBQUVBLENBQUNBLE9BQU9BLENBQUNBO1FBQ3RGQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxRQUFRQSxFQUFFQSxPQUFPQSxDQUFDQSxDQUFDQTtJQUM1Q0EsQ0FBQ0E7QUFDSEwsQ0FBQ0E7QUFFRCxJQUFJLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3JELElBQUksVUFBVSxHQUFHO0lBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQ2pCLFNBQVMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUNwQyxJQUFJLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQ2pFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLENBQUM7Q0FDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVdyYXBwZXIsIGlzUHJlc2VudCwgaXNCbGFuaywgSnNvbn0gZnJvbSAnYW5ndWxhcjIvc3JjL2ZhY2FkZS9sYW5nJztcbmltcG9ydCB7UHJvbWlzZVdyYXBwZXJ9IGZyb20gJ2FuZ3VsYXIyL3NyYy9mYWNhZGUvYXN5bmMnO1xuXG5pbXBvcnQge2JpbmQsIHByb3ZpZGUsIFByb3ZpZGVyLCBPcGFxdWVUb2tlbn0gZnJvbSAnYW5ndWxhcjIvc3JjL2NvcmUvZGknO1xuXG5pbXBvcnQge1JlcG9ydGVyfSBmcm9tICcuLi9yZXBvcnRlcic7XG5pbXBvcnQge1NhbXBsZURlc2NyaXB0aW9ufSBmcm9tICcuLi9zYW1wbGVfZGVzY3JpcHRpb24nO1xuaW1wb3J0IHtNZWFzdXJlVmFsdWVzfSBmcm9tICcuLi9tZWFzdXJlX3ZhbHVlcyc7XG5pbXBvcnQge09wdGlvbnN9IGZyb20gJy4uL2NvbW1vbl9vcHRpb25zJztcblxuLyoqXG4gKiBBIHJlcG9ydGVyIHRoYXQgd3JpdGVzIHJlc3VsdHMgaW50byBhIGpzb24gZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEpzb25GaWxlUmVwb3J0ZXIgZXh0ZW5kcyBSZXBvcnRlciB7XG4gIC8vIFRPRE8odGJvc2NoKTogdXNlIHN0YXRpYyB2YWx1ZXMgd2hlbiBvdXIgdHJhbnNwaWxlciBzdXBwb3J0cyB0aGVtXG4gIHN0YXRpYyBnZXQgUEFUSCgpOiBPcGFxdWVUb2tlbiB7IHJldHVybiBfUEFUSDsgfVxuICAvLyBUT0RPKHRib3NjaCk6IHVzZSBzdGF0aWMgdmFsdWVzIHdoZW4gb3VyIHRyYW5zcGlsZXIgc3VwcG9ydHMgdGhlbVxuICBzdGF0aWMgZ2V0IEJJTkRJTkdTKCk6IFByb3ZpZGVyW10geyByZXR1cm4gX1BST1ZJREVSUzsgfVxuXG4gIF93cml0ZUZpbGU6IEZ1bmN0aW9uO1xuICBfcGF0aDogc3RyaW5nO1xuICBfZGVzY3JpcHRpb246IFNhbXBsZURlc2NyaXB0aW9uO1xuICBfbm93OiBGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcihzYW1wbGVEZXNjcmlwdGlvbiwgcGF0aCwgd3JpdGVGaWxlLCBub3cpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gc2FtcGxlRGVzY3JpcHRpb247XG4gICAgdGhpcy5fcGF0aCA9IHBhdGg7XG4gICAgdGhpcy5fd3JpdGVGaWxlID0gd3JpdGVGaWxlO1xuICAgIHRoaXMuX25vdyA9IG5vdztcbiAgfVxuXG4gIHJlcG9ydE1lYXN1cmVWYWx1ZXMobWVhc3VyZVZhbHVlczogTWVhc3VyZVZhbHVlcyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIFByb21pc2VXcmFwcGVyLnJlc29sdmUobnVsbCk7XG4gIH1cblxuICByZXBvcnRTYW1wbGUoY29tcGxldGVTYW1wbGU6IE1lYXN1cmVWYWx1ZXNbXSwgdmFsaWRTYW1wbGU6IE1lYXN1cmVWYWx1ZXNbXSk6IFByb21pc2U8YW55PiB7XG4gICAgdmFyIGNvbnRlbnQgPSBKc29uLnN0cmluZ2lmeSh7XG4gICAgICAnZGVzY3JpcHRpb24nOiB0aGlzLl9kZXNjcmlwdGlvbixcbiAgICAgICdjb21wbGV0ZVNhbXBsZSc6IGNvbXBsZXRlU2FtcGxlLFxuICAgICAgJ3ZhbGlkU2FtcGxlJzogdmFsaWRTYW1wbGVcbiAgICB9KTtcbiAgICB2YXIgZmlsZVBhdGggPVxuICAgICAgICBgJHt0aGlzLl9wYXRofS8ke3RoaXMuX2Rlc2NyaXB0aW9uLmlkfV8ke0RhdGVXcmFwcGVyLnRvTWlsbGlzKHRoaXMuX25vdygpKX0uanNvbmA7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRlRmlsZShmaWxlUGF0aCwgY29udGVudCk7XG4gIH1cbn1cblxudmFyIF9QQVRIID0gbmV3IE9wYXF1ZVRva2VuKCdKc29uRmlsZVJlcG9ydGVyLnBhdGgnKTtcbnZhciBfUFJPVklERVJTID0gW1xuICBiaW5kKEpzb25GaWxlUmVwb3J0ZXIpXG4gICAgICAudG9GYWN0b3J5KChzYW1wbGVEZXNjcmlwdGlvbiwgcGF0aCwgd3JpdGVGaWxlLCBub3cpID0+XG4gICAgICAgICAgICAgICAgICAgICBuZXcgSnNvbkZpbGVSZXBvcnRlcihzYW1wbGVEZXNjcmlwdGlvbiwgcGF0aCwgd3JpdGVGaWxlLCBub3cpLFxuICAgICAgICAgICAgICAgICBbU2FtcGxlRGVzY3JpcHRpb24sIF9QQVRILCBPcHRpb25zLldSSVRFX0ZJTEUsIE9wdGlvbnMuTk9XXSksXG4gIHByb3ZpZGUoX1BBVEgsIHt1c2VWYWx1ZTogJy4nfSlcbl07XG4iXX0=