/* * 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 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; }