vasku
Version:
TVM-Solidity contract development framework
46 lines (45 loc) • 1.57 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.test = void 0;
const mocha_1 = __importDefault(require("mocha"));
const se_1 = require("./common/se");
const compile_1 = require("./compile");
const glob_1 = require("glob");
const createGlobal_1 = require("../global/createGlobal");
async function test(config, patterns = [''], network = se_1.SE, compilation = true) {
if (patterns.length === 0)
patterns = [''];
///////////////////
// Create global //
///////////////////
await (0, createGlobal_1.createGlobal)(config, network);
///////////
// Up SE //
///////////
await (0, se_1.upSeIfNotActive)(network, config.se);
/////////////
// Compile //
/////////////
if (compilation)
await (0, compile_1.compile)(config);
////////////////////
// Read tests set //
////////////////////
const tests = new Set();
patterns.forEach((value) => {
const pattern = `${process.cwd()}/${config.paths.tests}/**/*${value}*`;
const files = (0, glob_1.globSync)(pattern, { nodir: true });
files.forEach((value) => { tests.add(value); });
});
//////////////
// Run test //
//////////////
const mocha = new mocha_1.default({ timeout: config.timeout });
for (const test of tests.keys())
mocha.addFile(test);
mocha.run((fail) => process.exit(fail));
}
exports.test = test;