[Gradle, JS] Divide tc message type on stdout and stderr
#KT-38109 fixed
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 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 {KotlinTestRunner} from "./KotlinTestRunner";
|
import {KotlinTestRunner} from "./KotlinTestRunner";
|
||||||
import {TeamCityMessageData, TeamCityMessagesFlow} from "./TeamCityMessagesFlow";
|
import {TeamCityMessageData, TeamCityMessagesFlow} from "./TeamCityMessagesFlow";
|
||||||
import {format} from "util";
|
import {format} from "util";
|
||||||
@@ -18,6 +23,10 @@ function withName(name: string, data?: TeamCityMessageData): TeamCityMessageData
|
|||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const logTypes = ['log', 'info', 'warn', 'error', 'debug'] as const
|
||||||
|
|
||||||
|
type LogType = typeof logTypes[number]
|
||||||
|
|
||||||
export function runWithTeamCityConsoleAdapter(
|
export function runWithTeamCityConsoleAdapter(
|
||||||
runner: KotlinTestRunner,
|
runner: KotlinTestRunner,
|
||||||
teamCity: TeamCityMessagesFlow
|
teamCity: TeamCityMessagesFlow
|
||||||
@@ -30,9 +39,16 @@ export function runWithTeamCityConsoleAdapter(
|
|||||||
let revertLogMethods: CallableFunction[] = [];
|
let revertLogMethods: CallableFunction[] = [];
|
||||||
|
|
||||||
runner.test(name, isIgnored, () => {
|
runner.test(name, isIgnored, () => {
|
||||||
const log = (type: string) => function (message?: any, ...optionalParams: any[]) {
|
const log = (type: LogType) => function (message?: any, ...optionalParams: any[]) {
|
||||||
|
let messageType: 'testStdOut' | 'testStdErr'
|
||||||
|
if (type == 'warn' || type == 'error') {
|
||||||
|
messageType = 'testStdErr'
|
||||||
|
} else {
|
||||||
|
messageType = 'testStdOut'
|
||||||
|
}
|
||||||
|
|
||||||
teamCity.sendMessage(
|
teamCity.sendMessage(
|
||||||
"testStdOut",
|
messageType,
|
||||||
withName(
|
withName(
|
||||||
name,
|
name,
|
||||||
{
|
{
|
||||||
@@ -42,13 +58,11 @@ export function runWithTeamCityConsoleAdapter(
|
|||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
const logMethods = ['log', 'info', 'warn', 'error', 'debug'];
|
|
||||||
|
|
||||||
const globalConsole = console as unknown as {
|
const globalConsole = console as unknown as {
|
||||||
[method: string]: (message?: any, ...optionalParams: any[]) => void
|
[method: string]: (message?: any, ...optionalParams: any[]) => void
|
||||||
};
|
};
|
||||||
|
|
||||||
revertLogMethods = logMethods
|
revertLogMethods = logTypes
|
||||||
.map(method => {
|
.map(method => {
|
||||||
const realMethod = globalConsole[method];
|
const realMethod = globalConsole[method];
|
||||||
globalConsole[method] = log(method);
|
globalConsole[method] = log(method);
|
||||||
|
|||||||
Reference in New Issue
Block a user