UNPKG

projen

Version:

CDK for software projects

26 lines 4.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Pytest = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const component_1 = require("../component"); const dependencies_1 = require("../dependencies"); class Pytest extends component_1.Component { static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.python.Pytest", version: "0.103.12" }; testMatch; constructor(project, options = {}) { super(project); const version = options.version ?? "8.3.5"; this.testMatch = options.testMatch ?? []; project.deps.addDependency(`pytest@${version}`, dependencies_1.DependencyType.TEST); project.testTask.execArgs([ "pytest", ...(options.maxFailures ? [`--maxfail=${options.maxFailures}`] : []), // `testpaths` is expanded by pytest, so glob patterns are supported ...(this.testMatch.length > 0 ? ["-o", `testpaths=${this.testMatch.join(" ")}`] : []), ]); } } exports.Pytest = Pytest; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHl0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B5dGhvbi9weXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDRDQUF5QztBQUN6QyxrREFBaUQ7QUFpQ2pELE1BQWEsTUFBTyxTQUFRLHFCQUFTOztJQUMxQixTQUFTLENBQVc7SUFFN0IsWUFBWSxPQUFnQixFQUFFLFVBQXlCLEVBQUU7UUFDdkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUM7UUFFM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUV6QyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLE9BQU8sRUFBRSxFQUFFLDZCQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDeEIsUUFBUTtZQUNSLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNwRSxvRUFBb0U7WUFDcEUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXBCSCx3QkFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHl0ZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQeXRlc3QgdmVyc2lvblxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjguMy41XCJcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0b3AgdGhlIHRlc3RpbmcgcHJvY2VzcyBhZnRlciB0aGUgZmlyc3QgTiBmYWlsdXJlc1xuICAgKi9cbiAgcmVhZG9ubHkgbWF4RmFpbHVyZXM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcGF0aHMgdG8gdGVzdCBmaWxlcyBvciBkaXJlY3Rvcmllcy5cbiAgICogVXNlZnVsIHdoZW4gYWxsIHByb2plY3QgdGVzdHMgYXJlIGluIGEga25vd24gbG9jYXRpb24gdG8gc3BlZWQgdXBcbiAgICogdGVzdCBjb2xsZWN0aW9uIGFuZCB0byBhdm9pZCBwaWNraW5nIHVwIHVuZGVzaXJlZCB0ZXN0cyBieSBhY2NpZGVudC5cbiAgICpcbiAgICogTGVhdmUgZW1wdHkgdG8gZGlzY292ZXIgYWxsIHRlc3RfKi5weSBvciAqX3Rlc3QucHkgZmlsZXMsIHBlciBQeXRlc3QgZGVmYXVsdC5cbiAgICogR2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLCBpbmNsdWRpbmcgYCoqYCBmb3IgcmVjdXJzaXZlIG1hdGNoaW5nLlxuICAgKlxuICAgKiBUaGUgZW50cmllcyBmb3JtIHB5dGVzdCdzIGB0ZXN0cGF0aHNgIHNldHRpbmcsIHdoaWNoIGlzIHBhcnNlZCBsaWtlIGEgc2hlbGxcbiAgICogd29yZCBsaXN0LCBzbyBhIHBhdGggY29udGFpbmluZyBzcGFjZXMgaGFzIHRvIGJlIHF1b3RlZDogYFtcIidteSB0ZXN0cydcIl1gLlxuICAgKlxuICAgKiBAZXhhbXBsZSBbXCJ0ZXN0cy91bml0XCIsIFwidGVzdHMvcWFcIl1cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHRlc3RNYXRjaD86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgUHl0ZXN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgdGVzdE1hdGNoOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBQeXRlc3RPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBvcHRpb25zLnZlcnNpb24gPz8gXCI4LjMuNVwiO1xuXG4gICAgdGhpcy50ZXN0TWF0Y2ggPSBvcHRpb25zLnRlc3RNYXRjaCA/PyBbXTtcblxuICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KGBweXRlc3RAJHt2ZXJzaW9ufWAsIERlcGVuZGVuY3lUeXBlLlRFU1QpO1xuXG4gICAgcHJvamVjdC50ZXN0VGFzay5leGVjQXJncyhbXG4gICAgICBcInB5dGVzdFwiLFxuICAgICAgLi4uKG9wdGlvbnMubWF4RmFpbHVyZXMgPyBbYC0tbWF4ZmFpbD0ke29wdGlvbnMubWF4RmFpbHVyZXN9YF0gOiBbXSksXG4gICAgICAvLyBgdGVzdHBhdGhzYCBpcyBleHBhbmRlZCBieSBweXRlc3QsIHNvIGdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZFxuICAgICAgLi4uKHRoaXMudGVzdE1hdGNoLmxlbmd0aCA+IDBcbiAgICAgICAgPyBbXCItb1wiLCBgdGVzdHBhdGhzPSR7dGhpcy50ZXN0TWF0Y2guam9pbihcIiBcIil9YF1cbiAgICAgICAgOiBbXSksXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==