UNPKG

benchpress

Version:

Benchpress - a framework for e2e performance tests

41 lines 6.67 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9maWxlX3JlcG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGlmZmluZ19wbHVnaW5fd3JhcHBlci1vdXRwdXRfcGF0aC14QkxJQnJWUi50bXAvYmVuY2hwcmVzcy9zcmMvcmVwb3J0ZXIvanNvbl9maWxlX3JlcG9ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJPQUFPLEVBQUMsV0FBVyxFQUFzQixJQUFJLEVBQUMsTUFBTSwwQkFBMEI7T0FDdkUsRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkI7T0FFakQsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFZLFdBQVcsRUFBQyxNQUFNLHNCQUFzQjtPQUVsRSxFQUFDLFFBQVEsRUFBQyxNQUFNLGFBQWE7T0FDN0IsRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QjtPQUVoRCxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQjtBQUV6Qzs7R0FFRztBQUNILHNDQUFzQyxRQUFRO0lBVzVDLFlBQVksaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHO1FBQ2pELE9BQU8sQ0FBQztRQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsaUJBQWlCLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQWhCRCxvRUFBb0U7SUFDcEUsV0FBVyxJQUFJLEtBQWtCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELG9FQUFvRTtJQUNwRSxXQUFXLFFBQVEsS0FBaUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFleEQsbUJBQW1CLENBQUMsYUFBNEI7UUFDOUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFlBQVksQ0FBQyxjQUErQixFQUFFLFdBQTRCO1FBQ3hFLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDM0IsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ2hDLGdCQUFnQixFQUFFLGNBQWM7WUFDaEMsYUFBYSxFQUFFLFdBQVc7U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxRQUFRLEdBQ1IsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUN0RixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztBQUNILENBQUM7QUFFRCxJQUFJLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3JELElBQUksVUFBVSxHQUFHO0lBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQ2pCLFNBQVMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUNwQyxJQUFJLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQ2pFLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLENBQUM7Q0FDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVdyYXBwZXIsIGlzUHJlc2VudCwgaXNCbGFuaywgSnNvbn0gZnJvbSAnYW5ndWxhcjIvc3JjL2ZhY2FkZS9sYW5nJztcbmltcG9ydCB7UHJvbWlzZVdyYXBwZXJ9IGZyb20gJ2FuZ3VsYXIyL3NyYy9mYWNhZGUvYXN5bmMnO1xuXG5pbXBvcnQge2JpbmQsIHByb3ZpZGUsIFByb3ZpZGVyLCBPcGFxdWVUb2tlbn0gZnJvbSAnYW5ndWxhcjIvc3JjL2NvcmUvZGknO1xuXG5pbXBvcnQge1JlcG9ydGVyfSBmcm9tICcuLi9yZXBvcnRlcic7XG5pbXBvcnQge1NhbXBsZURlc2NyaXB0aW9ufSBmcm9tICcuLi9zYW1wbGVfZGVzY3JpcHRpb24nO1xuaW1wb3J0IHtNZWFzdXJlVmFsdWVzfSBmcm9tICcuLi9tZWFzdXJlX3ZhbHVlcyc7XG5pbXBvcnQge09wdGlvbnN9IGZyb20gJy4uL2NvbW1vbl9vcHRpb25zJztcblxuLyoqXG4gKiBBIHJlcG9ydGVyIHRoYXQgd3JpdGVzIHJlc3VsdHMgaW50byBhIGpzb24gZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEpzb25GaWxlUmVwb3J0ZXIgZXh0ZW5kcyBSZXBvcnRlciB7XG4gIC8vIFRPRE8odGJvc2NoKTogdXNlIHN0YXRpYyB2YWx1ZXMgd2hlbiBvdXIgdHJhbnNwaWxlciBzdXBwb3J0cyB0aGVtXG4gIHN0YXRpYyBnZXQgUEFUSCgpOiBPcGFxdWVUb2tlbiB7IHJldHVybiBfUEFUSDsgfVxuICAvLyBUT0RPKHRib3NjaCk6IHVzZSBzdGF0aWMgdmFsdWVzIHdoZW4gb3VyIHRyYW5zcGlsZXIgc3VwcG9ydHMgdGhlbVxuICBzdGF0aWMgZ2V0IEJJTkRJTkdTKCk6IFByb3ZpZGVyW10geyByZXR1cm4gX1BST1ZJREVSUzsgfVxuXG4gIF93cml0ZUZpbGU6IEZ1bmN0aW9uO1xuICBfcGF0aDogc3RyaW5nO1xuICBfZGVzY3JpcHRpb246IFNhbXBsZURlc2NyaXB0aW9uO1xuICBfbm93OiBGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcihzYW1wbGVEZXNjcmlwdGlvbiwgcGF0aCwgd3JpdGVGaWxlLCBub3cpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gc2FtcGxlRGVzY3JpcHRpb247XG4gICAgdGhpcy5fcGF0aCA9IHBhdGg7XG4gICAgdGhpcy5fd3JpdGVGaWxlID0gd3JpdGVGaWxlO1xuICAgIHRoaXMuX25vdyA9IG5vdztcbiAgfVxuXG4gIHJlcG9ydE1lYXN1cmVWYWx1ZXMobWVhc3VyZVZhbHVlczogTWVhc3VyZVZhbHVlcyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIFByb21pc2VXcmFwcGVyLnJlc29sdmUobnVsbCk7XG4gIH1cblxuICByZXBvcnRTYW1wbGUoY29tcGxldGVTYW1wbGU6IE1lYXN1cmVWYWx1ZXNbXSwgdmFsaWRTYW1wbGU6IE1lYXN1cmVWYWx1ZXNbXSk6IFByb21pc2U8YW55PiB7XG4gICAgdmFyIGNvbnRlbnQgPSBKc29uLnN0cmluZ2lmeSh7XG4gICAgICAnZGVzY3JpcHRpb24nOiB0aGlzLl9kZXNjcmlwdGlvbixcbiAgICAgICdjb21wbGV0ZVNhbXBsZSc6IGNvbXBsZXRlU2FtcGxlLFxuICAgICAgJ3ZhbGlkU2FtcGxlJzogdmFsaWRTYW1wbGVcbiAgICB9KTtcbiAgICB2YXIgZmlsZVBhdGggPVxuICAgICAgICBgJHt0aGlzLl9wYXRofS8ke3RoaXMuX2Rlc2NyaXB0aW9uLmlkfV8ke0RhdGVXcmFwcGVyLnRvTWlsbGlzKHRoaXMuX25vdygpKX0uanNvbmA7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRlRmlsZShmaWxlUGF0aCwgY29udGVudCk7XG4gIH1cbn1cblxudmFyIF9QQVRIID0gbmV3IE9wYXF1ZVRva2VuKCdKc29uRmlsZVJlcG9ydGVyLnBhdGgnKTtcbnZhciBfUFJPVklERVJTID0gW1xuICBiaW5kKEpzb25GaWxlUmVwb3J0ZXIpXG4gICAgICAudG9GYWN0b3J5KChzYW1wbGVEZXNjcmlwdGlvbiwgcGF0aCwgd3JpdGVGaWxlLCBub3cpID0+XG4gICAgICAgICAgICAgICAgICAgICBuZXcgSnNvbkZpbGVSZXBvcnRlcihzYW1wbGVEZXNjcmlwdGlvbiwgcGF0aCwgd3JpdGVGaWxlLCBub3cpLFxuICAgICAgICAgICAgICAgICBbU2FtcGxlRGVzY3JpcHRpb24sIF9QQVRILCBPcHRpb25zLldSSVRFX0ZJTEUsIE9wdGlvbnMuTk9XXSksXG4gIHByb3ZpZGUoX1BBVEgsIHt1c2VWYWx1ZTogJy4nfSlcbl07XG4iXX0=