72 lines
2.4 KiB
JavaScript
72 lines
2.4 KiB
JavaScript
const fs = require("fs");
|
|
const path = require("path");
|
|
|
|
const utils = require(path.join(__dirname, "utils.js"));
|
|
|
|
const useInstrument = true;
|
|
|
|
async function run() {
|
|
if (!fs.existsSync(".haxelib/")) {
|
|
await utils.install_deps();
|
|
}
|
|
|
|
const project = new Project('Aura Tests');
|
|
|
|
project.addSources(".");
|
|
|
|
await project.addProject("../");
|
|
|
|
project.addLibrary("utest");
|
|
project.addDefine("UTEST_PRINT_TESTS");
|
|
|
|
// Easier to match problems with the problem matcher below, enable if
|
|
// running headless in command line (this will prevent displaying the html output)
|
|
// project.addDefine("UTEST_FAILURE_THROW");
|
|
|
|
if (useInstrument) {
|
|
project.addLibrary("instrument");
|
|
project.addDefine("instrument_quiet");
|
|
project.addDefine("coverage-console-package-summary-reporter");
|
|
// project.addDefine("coverage-console-summary-reporter");
|
|
project.addParameter("--macro instrument.Instrumentation.coverage(['aura'], null, ['auratests'])");
|
|
|
|
// From https://github.com/HaxeFoundation/hxnodejs/blob/master/extraParams.hxml
|
|
// to fix sys access error on nodejs even if it should work
|
|
// Reference:
|
|
// https://github.com/AlexHaxe/haxe-instrument/issues/8
|
|
// https://github.com/HaxeFoundation/hxnodejs/issues/59
|
|
// https://community.haxe.org/t/using-sys-in-nodejs-target/3702
|
|
// project.addParameter("--macro allowPackage('sys')");
|
|
// project.addParameter("--macro define('nodejs')");
|
|
// project.addParameter("--macro _internal.SuppressDeprecated.run()");
|
|
}
|
|
|
|
if (project.targetOptions.html5.expose === undefined) {
|
|
project.targetOptions.html5.expose = "";
|
|
}
|
|
project.targetOptions.html5.expose += "logToMainProcess: (type, text) => electron.ipcRenderer.send('log-main', type, text),";
|
|
|
|
project.addParameter("--no-opt");
|
|
project.addParameter("--no-inline");
|
|
project.addParameter('-dce full');
|
|
|
|
// project.addParameter("--macro nullSafety('aura', Strict)");
|
|
// project.addParameter("--macro nullSafety('aura', StrictThreaded)");
|
|
|
|
project.addDefine("AURA_UNIT_TESTS");
|
|
project.addDefine("AURA_ASSERT_LEVEL=Debug");
|
|
|
|
project.addCDefine("KINC_NO_WAYLAND"); // Causes errors in the CI
|
|
|
|
callbacks.postBuild = () => {
|
|
fs.copyFileSync("Data/index.html", "build/debug-html5/index.html");
|
|
|
|
const electronJSAppend = fs.readFileSync("Data/electron-append.js", "utf8");
|
|
fs.appendFileSync("build/debug-html5/electron.js", "\n\n" + electronJSAppend);
|
|
};
|
|
|
|
resolve(project);
|
|
}
|
|
|
|
await run();
|