web: workaround flaky CI test runner (#1550)

* web: workaround flaky CI test runner

* Move config path to test-utils/conf/karma.config.common.d

* Reusing same karma config everywhere aprt benchmarks

it looks like we can have only one karma config directory

Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
Co-authored-by: Shagen Ogandzhanian <shagen.ogandzhanian@jetbrains.com>
This commit is contained in:
Oleksandr Karpovich
2021-12-07 17:40:57 +01:00
committed by GitHub
parent a1f923399f
commit 046f225846
10 changed files with 44 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ kotlin {
browser() {
testTask {
useKarma {
useConfigDirectory("${rootProject.projectDir}/test-utils/conf/karma.config.common.d")
useChromeHeadless()
useFirefox()
}

View File

@@ -10,6 +10,7 @@ kotlin {
browser() {
testTask {
useKarma {
useConfigDirectory("${rootProject.projectDir}/test-utils/conf/karma.config.common.d")
useChromeHeadless()
//useFirefox()
}

View File

@@ -19,6 +19,7 @@ kotlin {
browser() {
testTask {
useKarma {
useConfigDirectory("${rootProject.projectDir}/test-utils/conf/karma.config.common.d")
useChromeHeadless()
useFirefox()
}

View File

@@ -9,6 +9,7 @@ kotlin {
browser() {
testTask {
useKarma {
useConfigDirectory("${rootProject.projectDir}/test-utils/conf/karma.config.common.d")
useChromeHeadless()
useFirefox()
}

View File

@@ -9,6 +9,7 @@ kotlin {
browser() {
testTask {
useKarma {
useConfigDirectory("${rootProject.projectDir}/test-utils/conf/karma.config.common.d")
useChromeHeadless()
useFirefox()
}

View File

@@ -9,6 +9,7 @@ kotlin {
browser() {
testTask {
useKarma {
useConfigDirectory("${rootProject.projectDir}/test-utils/conf/karma.config.common.d")
useChromeHeadless()
}
}

View File

@@ -13,6 +13,7 @@ kotlin {
browser() {
testTask {
useKarma {
useConfigDirectory("${rootProject.projectDir}/test-utils/conf/karma.config.common.d")
useChromeHeadless()
useFirefox()
}

View File

@@ -0,0 +1,32 @@
// This is a workaround for https://github.com/karma-runner/karma-teamcity-reporter/issues/86
const kotlinReporterModule = require("../../../build/js/packages_imported/kotlin-test-js-runner/1.5.31/karma-kotlin-reporter");
const KotlinReporter = kotlinReporterModule['reporter:karma-kotlin-reporter'][1];
const NewReporter = function(baseReporterDecorator, config, emitter) {
KotlinReporter.call(this, baseReporterDecorator, config, emitter);
const onBrowserLogOriginal = this.onBrowserLog;
const onSpecCompleteOriginal = this.onSpecComplete;
this.onBrowserLog = (browser, log, type) => {
if (!this.browserResults[browser.id]) {
this.initializeBrowser(browser);
}
onBrowserLogOriginal(browser, log, type);
}
this.onSpecComplete = function (browser, result) {
if (!this.browserResults[browser.id]) {
this.initializeBrowser(browser);
}
onSpecCompleteOriginal(browser, result);
}
}
NewReporter.$inject = KotlinReporter.$inject;
module.exports = {
'reporter:karma-kotlin-reporter': ['type', NewReporter]
};

View File

@@ -0,0 +1,4 @@
config.plugins = config.plugins || [];
config.plugins = config.plugins.filter(it => it !== "kotlin-test-js-runner/karma-kotlin-reporter.js");
config.plugins.push("../../../../../test-utils/conf/karma-kotlin-runner-decorator/karma-kotlin-reporter-decorated.js");

View File

@@ -10,6 +10,7 @@ kotlin {
browser() {
testTask {
useKarma {
useConfigDirectory("${rootProject.projectDir}/test-utils/conf/karma.config.common.d")
useChromeHeadless()
useFirefox()
}