[Gradle, JS] Remove copypaste for karma and nodejs test adapters

This commit is contained in:
Ilya Goncharov
2019-10-10 17:40:02 +03:00
parent cb096db6be
commit 55fb9be7f6
5 changed files with 24 additions and 20 deletions
+4 -10
View File
@@ -4,9 +4,7 @@
*/
import {CliArgsParser, getDefaultCliDescription} from "./src/CliArgsParser";
import {runWithFilteringAdapter} from "./src/Adapter";
import {TeamCityMessagesFlow} from "./src/TeamCityMessagesFlow";
import {runWithTeamCityConsoleAdapter} from "./src/KotlinTestTeamCityReporter";
import {runWithFilteringAndConsoleAdapters} from "./src/Adapter";
const kotlin_test = require('kotlin-test');
@@ -14,19 +12,15 @@ process.exit = (exitCode) => {
throw new Error(`Exit with ${exitCode}`)
};
const processArgs = window.__karma__.config.args;
const cliDescription = getDefaultCliDescription();
cliDescription.freeArgsTitle = null;
const parser = new CliArgsParser(cliDescription);
const processArgs = window.__karma__.config.args;
const untypedArgs = parser.parse(processArgs);
const initialAdapter = kotlin_test.kotlin.test.detectAdapter_8be2vx$();
const realConsoleLog = console.log;
const teamCity = new TeamCityMessagesFlow(null, (payload) => realConsoleLog(payload));
const teamCityAdapter = runWithTeamCityConsoleAdapter(initialAdapter, teamCity);
kotlin_test.setAdapter(runWithFilteringAdapter(teamCityAdapter, untypedArgs));
kotlin_test.setAdapter(runWithFilteringAndConsoleAdapters(initialAdapter, untypedArgs));
const resultFun = window.__karma__.result;
window.__karma__.result = function (result) {
@@ -1,7 +1,5 @@
import {CliArgsParser, getDefaultCliDescription} from "./src/CliArgsParser";
import {runWithFilteringAdapter} from "./src/Adapter";
import {runWithTeamCityConsoleAdapter} from "./src/KotlinTestTeamCityReporter";
import {TeamCityMessagesFlow} from "./src/TeamCityMessagesFlow";
import {runWithFilteringAndConsoleAdapters} from "./src/Adapter";
const kotlin_test = require('kotlin-test');
@@ -27,14 +25,9 @@ const defaultMochaArgs = [
'--ui',
'bdd'
];
const processArgs = process.argv.slice(2, -1 * defaultMochaArgs.length);
const untypedArgs = parser.parse(processArgs);
// TODO(ilgonmic): Try to detect adapter
const initialAdapter = new kotlin_test.kotlin.test.adapters.JasmineLikeAdapter();
const realConsoleLog = console.log;
const teamCity = new TeamCityMessagesFlow(null, (payload) => realConsoleLog(payload));
const teamCityAdapter = runWithTeamCityConsoleAdapter(initialAdapter, teamCity);
kotlin_test.setAdapter(runWithFilteringAdapter(teamCityAdapter, untypedArgs));
kotlin_test.setAdapter(runWithFilteringAndConsoleAdapters(initialAdapter, untypedArgs));
@@ -6,6 +6,23 @@
import {CliArgValues} from "./CliArgsParser";
import {KotlinTestRunner} from "./KotlinTestRunner";
import {configureFiltering} from "./CliFiltertingConfiguration";
import {runWithTeamCityConsoleAdapter} from "./KotlinTestTeamCityConsoleAdapter";
import {TeamCityMessagesFlow} from "./TeamCityMessagesFlow";
export function runWithFilteringAndConsoleAdapters(
initialAdapter: KotlinTestRunner,
cliArgsValue: CliArgValues
): KotlinTestRunner {
const realConsoleLog = console.log;
const teamCity = new TeamCityMessagesFlow(null, (payload) => realConsoleLog(payload));
return runWithTeamCityConsoleAdapter(
runWithFilteringAdapter(
initialAdapter,
cliArgsValue
),
teamCity
)
}
export function runWithFilteringAdapter(
initialAdapter: KotlinTestRunner,
@@ -1,5 +1,5 @@
import {println, startsWith} from "./utils";
import {IgnoredTestSuitesReporting} from "./KotlinTestTeamCityReporter";
import {IgnoredTestSuitesReporting} from "./KotlinTestTeamCityConsoleAdapter";
export type CliDescription = {
version: string,