Extract Adapter getting to common place

This commit is contained in:
Ilya Goncharov
2019-09-18 12:24:59 +03:00
parent b44249255c
commit 80ea91f574
2 changed files with 34 additions and 19 deletions
@@ -1,9 +1,6 @@
import {TeamCityMessagesFlow} from "./src/TeamCityMessagesFlow";
import {directRunner, KotlinTestRunner} from "./src/KotlinTestRunner";
import {IgnoredTestSuitesReporting, runWithTeamCityReporter} from "./src/KotlinTestTeamCityReporter";
import {defaultCliArgsParser} from "./src/CliArgsParser";
import {configureFiltering} from "./src/CliFiltertingConfiguration";
import {hrTimer} from "./src/Timer";
import {getAdapter} from "./src/Adapter";
import {directRunner} from "./src/KotlinTestRunner";
const kotlin_test = require('kotlin-test');
@@ -11,20 +8,7 @@ const parser = defaultCliArgsParser;
const processArgs = process.argv.slice(2);
const untypedArgs = parser.parse(processArgs);
const args = {
onIgnoredTestSuites: (untypedArgs.ignoredTestSuites
|| IgnoredTestSuitesReporting.reportAllInnerTestsAsIgnored) as IgnoredTestSuitesReporting,
include: untypedArgs.include as string[],
exclude: untypedArgs.exclude as string[],
};
const teamCity = new TeamCityMessagesFlow(null, (payload) => console.log(payload));
let runner: KotlinTestRunner = directRunner;
runner = runWithTeamCityReporter(runner, args.onIgnoredTestSuites, teamCity, hrTimer);
runner = configureFiltering(runner, args.include, args.exclude);
kotlin_test.setAdapter(runner);
kotlin_test.setAdapter(getAdapter(directRunner, untypedArgs));
untypedArgs.free.forEach((arg: string) => {
require(arg);
@@ -0,0 +1,31 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
import {CliArgValues} from "./CliArgsParser";
import {IgnoredTestSuitesReporting, runWithTeamCityReporter} from "./KotlinTestTeamCityReporter";
import {TeamCityMessagesFlow} from "./TeamCityMessagesFlow";
import {KotlinTestRunner} from "./KotlinTestRunner";
import {hrTimer} from "./Timer";
import {configureFiltering} from "./CliFiltertingConfiguration";
export function getAdapter(
initialAdapter: KotlinTestRunner,
cliArgsValue: CliArgValues
): KotlinTestRunner {
const args = {
onIgnoredTestSuites: (cliArgsValue.ignoredTestSuites
|| IgnoredTestSuitesReporting.reportAllInnerTestsAsIgnored) as IgnoredTestSuitesReporting,
include: cliArgsValue.include as string[],
exclude: cliArgsValue.exclude as string[],
};
const teamCity = new TeamCityMessagesFlow(null, (payload) => console.log(payload));
let runner: KotlinTestRunner = initialAdapter;
runner = runWithTeamCityReporter(runner, args.onIgnoredTestSuites, teamCity, hrTimer);
runner = configureFiltering(runner, args.include, args.exclude);
return runner;
}