From 80ea91f574abbd8440e9c80e6e6163f6d0e25142 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 18 Sep 2019 12:24:59 +0300 Subject: [PATCH] Extract Adapter getting to common place --- .../tools/kotlin-test-nodejs-runner/cli.ts | 22 ++----------- .../kotlin-test-nodejs-runner/src/Adapter.ts | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+), 19 deletions(-) create mode 100644 libraries/tools/kotlin-test-nodejs-runner/src/Adapter.ts diff --git a/libraries/tools/kotlin-test-nodejs-runner/cli.ts b/libraries/tools/kotlin-test-nodejs-runner/cli.ts index 125cfb4ad81..c3e1d035875 100755 --- a/libraries/tools/kotlin-test-nodejs-runner/cli.ts +++ b/libraries/tools/kotlin-test-nodejs-runner/cli.ts @@ -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); diff --git a/libraries/tools/kotlin-test-nodejs-runner/src/Adapter.ts b/libraries/tools/kotlin-test-nodejs-runner/src/Adapter.ts new file mode 100644 index 00000000000..11722e70dca --- /dev/null +++ b/libraries/tools/kotlin-test-nodejs-runner/src/Adapter.ts @@ -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; +} \ No newline at end of file