[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 {CliArgsParser, getDefaultCliDescription} from "./src/CliArgsParser";
import {runWithFilteringAdapter} from "./src/Adapter"; import {runWithFilteringAndConsoleAdapters} from "./src/Adapter";
import {TeamCityMessagesFlow} from "./src/TeamCityMessagesFlow";
import {runWithTeamCityConsoleAdapter} from "./src/KotlinTestTeamCityReporter";
const kotlin_test = require('kotlin-test'); const kotlin_test = require('kotlin-test');
@@ -14,19 +12,15 @@ process.exit = (exitCode) => {
throw new Error(`Exit with ${exitCode}`) throw new Error(`Exit with ${exitCode}`)
}; };
const processArgs = window.__karma__.config.args;
const cliDescription = getDefaultCliDescription(); const cliDescription = getDefaultCliDescription();
cliDescription.freeArgsTitle = null; cliDescription.freeArgsTitle = null;
const parser = new CliArgsParser(cliDescription); const parser = new CliArgsParser(cliDescription);
const processArgs = window.__karma__.config.args;
const untypedArgs = parser.parse(processArgs); const untypedArgs = parser.parse(processArgs);
const initialAdapter = kotlin_test.kotlin.test.detectAdapter_8be2vx$(); const initialAdapter = kotlin_test.kotlin.test.detectAdapter_8be2vx$();
kotlin_test.setAdapter(runWithFilteringAndConsoleAdapters(initialAdapter, untypedArgs));
const realConsoleLog = console.log;
const teamCity = new TeamCityMessagesFlow(null, (payload) => realConsoleLog(payload));
const teamCityAdapter = runWithTeamCityConsoleAdapter(initialAdapter, teamCity);
kotlin_test.setAdapter(runWithFilteringAdapter(teamCityAdapter, untypedArgs));
const resultFun = window.__karma__.result; const resultFun = window.__karma__.result;
window.__karma__.result = function (result) { window.__karma__.result = function (result) {
@@ -1,7 +1,5 @@
import {CliArgsParser, getDefaultCliDescription} from "./src/CliArgsParser"; import {CliArgsParser, getDefaultCliDescription} from "./src/CliArgsParser";
import {runWithFilteringAdapter} from "./src/Adapter"; import {runWithFilteringAndConsoleAdapters} from "./src/Adapter";
import {runWithTeamCityConsoleAdapter} from "./src/KotlinTestTeamCityReporter";
import {TeamCityMessagesFlow} from "./src/TeamCityMessagesFlow";
const kotlin_test = require('kotlin-test'); const kotlin_test = require('kotlin-test');
@@ -27,14 +25,9 @@ const defaultMochaArgs = [
'--ui', '--ui',
'bdd' 'bdd'
]; ];
const processArgs = process.argv.slice(2, -1 * defaultMochaArgs.length); const processArgs = process.argv.slice(2, -1 * defaultMochaArgs.length);
const untypedArgs = parser.parse(processArgs); const untypedArgs = parser.parse(processArgs);
// TODO(ilgonmic): Try to detect adapter // TODO(ilgonmic): Try to detect adapter
const initialAdapter = new kotlin_test.kotlin.test.adapters.JasmineLikeAdapter(); const initialAdapter = new kotlin_test.kotlin.test.adapters.JasmineLikeAdapter();
kotlin_test.setAdapter(runWithFilteringAndConsoleAdapters(initialAdapter, untypedArgs));
const realConsoleLog = console.log;
const teamCity = new TeamCityMessagesFlow(null, (payload) => realConsoleLog(payload));
const teamCityAdapter = runWithTeamCityConsoleAdapter(initialAdapter, teamCity);
kotlin_test.setAdapter(runWithFilteringAdapter(teamCityAdapter, untypedArgs));
@@ -6,6 +6,23 @@
import {CliArgValues} from "./CliArgsParser"; import {CliArgValues} from "./CliArgsParser";
import {KotlinTestRunner} from "./KotlinTestRunner"; import {KotlinTestRunner} from "./KotlinTestRunner";
import {configureFiltering} from "./CliFiltertingConfiguration"; 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( export function runWithFilteringAdapter(
initialAdapter: KotlinTestRunner, initialAdapter: KotlinTestRunner,
@@ -1,5 +1,5 @@
import {println, startsWith} from "./utils"; import {println, startsWith} from "./utils";
import {IgnoredTestSuitesReporting} from "./KotlinTestTeamCityReporter"; import {IgnoredTestSuitesReporting} from "./KotlinTestTeamCityConsoleAdapter";
export type CliDescription = { export type CliDescription = {
version: string, version: string,