blob: 0f11092de0b09f400a8ec7ec4964377b0c4e86cc [file] [log] [blame]
/*
* 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 {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,
cliArgsValue: CliArgValues
): KotlinTestRunner {
const args = {
include: cliArgsValue.include as string[],
exclude: cliArgsValue.exclude as string[],
};
let runner: KotlinTestRunner = initialAdapter;
runner = configureFiltering(runner, args.include, args.exclude);
return runner;
}