/* * 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. */ 'use strict'; import {configureBrowsers, fixBrowserActivityTimeout, fixMochaTimeout} from "./src/DebugConfigurator"; const karma = require('karma'); const cfg = karma.config; const karmaConfig = cfg.parseConfig(process.argv[2]); karmaConfig.singleRun = false; configureBrowsers(karmaConfig); fixMochaTimeout(karmaConfig); fixBrowserActivityTimeout(karmaConfig); const Server = karma.Server; const server = new Server(karmaConfig, function (exitCode) { console.log('Karma has exited with ' + exitCode); }); server.on('browsers_ready', function () { // It is unreliable decision, but we need some delay for debugger attaching setTimeout(function () { karma.runner.run(karmaConfig, function (exitCode) { console.log('Runner has exited with ' + exitCode); karma.stopper.stop(karmaConfig, function (exitCode) { console.log('Stopper has exited with ' + exitCode); }) }) }, 1000) }); server.start();