UNPKG

@aws-cdk/integ-runner

Version:

CDK Integration Testing Tool

31 lines 4.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runSnapshotTests = runSnapshotTests; const common_1 = require("./common"); const logger = require("../logger"); const utils_1 = require("../utils"); /** * Run Snapshot tests * First batch up the tests. By default there will be 3 tests per batch. * Use a workerpool to run the batches in parallel. */ async function runSnapshotTests(pool, tests, options) { logger.highlight('\nVerifying integration test snapshots...\n'); const todo = new utils_1.WorkList(tests.map(t => t.testName), { onTimeout: common_1.printLaggards, }); // The worker pool is already limited // eslint-disable-next-line @cdklabs/promiseall-no-unbounded-parallelism const failedTests = await Promise.all(tests.map((test) => pool.exec('snapshotTestWorker', [test.info /* Dehydrate class -> data */, options], { on: (x) => { todo.crossOff(x.testName); (0, common_1.printResults)(x); }, }))); todo.done(); const testsToRun = (0, utils_1.flatten)(failedTests); logger.highlight('\nSnapshot Results: \n'); (0, common_1.printSummary)(tests.length, testsToRun.length); return testsToRun; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctc25hcHNob3Qtd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWctc25hcHNob3Qtd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsNENBMkJDO0FBckNELHFDQUFxRTtBQUNyRSxvQ0FBb0M7QUFFcEMsb0NBQTZDO0FBRTdDOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLElBQTJCLEVBQzNCLEtBQWtCLEVBQ2xCLE9BQW9DO0lBRXBDLE1BQU0sQ0FBQyxTQUFTLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUVoRSxNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUNwRCxTQUFTLEVBQUUsc0JBQWE7S0FDekIsQ0FBQyxDQUFDO0lBRUgscUNBQXFDO0lBQ3JDLHdFQUF3RTtJQUN4RSxNQUFNLFdBQVcsR0FBOEIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUM5RCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUN0RyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzFCLElBQUEscUJBQVksRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO0tBQ0YsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNaLE1BQU0sVUFBVSxHQUFHLElBQUEsZUFBTyxFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxJQUFBLHFCQUFZLEVBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgd29ya2VycG9vbCBmcm9tICd3b3JrZXJwb29sJztcbmltcG9ydCB0eXBlIHsgSW50ZWdUZXN0V29ya2VyQ29uZmlnLCBTbmFwc2hvdFZlcmlmaWNhdGlvbk9wdGlvbnMgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBwcmludFN1bW1hcnksIHByaW50UmVzdWx0cywgcHJpbnRMYWdnYXJkcyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCAqIGFzIGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ1Rlc3QgfSBmcm9tICcuLi9ydW5uZXIvaW50ZWdyYXRpb24tdGVzdHMnO1xuaW1wb3J0IHsgZmxhdHRlbiwgV29ya0xpc3QgfSBmcm9tICcuLi91dGlscyc7XG5cbi8qKlxuICogUnVuIFNuYXBzaG90IHRlc3RzXG4gKiBGaXJzdCBiYXRjaCB1cCB0aGUgdGVzdHMuIEJ5IGRlZmF1bHQgdGhlcmUgd2lsbCBiZSAzIHRlc3RzIHBlciBiYXRjaC5cbiAqIFVzZSBhIHdvcmtlcnBvb2wgdG8gcnVuIHRoZSBiYXRjaGVzIGluIHBhcmFsbGVsLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuU25hcHNob3RUZXN0cyhcbiAgcG9vbDogd29ya2VycG9vbC5Xb3JrZXJQb29sLFxuICB0ZXN0czogSW50ZWdUZXN0W10sXG4gIG9wdGlvbnM6IFNuYXBzaG90VmVyaWZpY2F0aW9uT3B0aW9ucyxcbik6IFByb21pc2U8SW50ZWdUZXN0V29ya2VyQ29uZmlnW10+IHtcbiAgbG9nZ2VyLmhpZ2hsaWdodCgnXFxuVmVyaWZ5aW5nIGludGVncmF0aW9uIHRlc3Qgc25hcHNob3RzLi4uXFxuJyk7XG5cbiAgY29uc3QgdG9kbyA9IG5ldyBXb3JrTGlzdCh0ZXN0cy5tYXAodCA9PiB0LnRlc3ROYW1lKSwge1xuICAgIG9uVGltZW91dDogcHJpbnRMYWdnYXJkcyxcbiAgfSk7XG5cbiAgLy8gVGhlIHdvcmtlciBwb29sIGlzIGFscmVhZHkgbGltaXRlZFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGNka2xhYnMvcHJvbWlzZWFsbC1uby11bmJvdW5kZWQtcGFyYWxsZWxpc21cbiAgY29uc3QgZmFpbGVkVGVzdHM6IEludGVnVGVzdFdvcmtlckNvbmZpZ1tdW10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICB0ZXN0cy5tYXAoKHRlc3QpID0+IHBvb2wuZXhlYygnc25hcHNob3RUZXN0V29ya2VyJywgW3Rlc3QuaW5mbyAvKiBEZWh5ZHJhdGUgY2xhc3MgLT4gZGF0YSAqLywgb3B0aW9uc10sIHtcbiAgICAgIG9uOiAoeCkgPT4ge1xuICAgICAgICB0b2RvLmNyb3NzT2ZmKHgudGVzdE5hbWUpO1xuICAgICAgICBwcmludFJlc3VsdHMoeCk7XG4gICAgICB9LFxuICAgIH0pKSxcbiAgKTtcbiAgdG9kby5kb25lKCk7XG4gIGNvbnN0IHRlc3RzVG9SdW4gPSBmbGF0dGVuKGZhaWxlZFRlc3RzKTtcblxuICBsb2dnZXIuaGlnaGxpZ2h0KCdcXG5TbmFwc2hvdCBSZXN1bHRzOiBcXG4nKTtcbiAgcHJpbnRTdW1tYXJ5KHRlc3RzLmxlbmd0aCwgdGVzdHNUb1J1bi5sZW5ndGgpO1xuICByZXR1cm4gdGVzdHNUb1J1bjtcbn1cbiJdfQ==