Extract Adapter getting to common place
This commit is contained in:
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user