// Set a fairly long test timeout because some tests in collection
// (specifically insertManyRemoveMany) occasionally take 20+ seconds to complete.
var testTimeoutInMs = 1000 * 30
// disconnect timeout should be longer than test timeout so we don't disconnect before the timeout
// is reported.
var browserDisconnectTimeoutInMs = testTimeoutInMs + 5000
config.set({
  // https://karma-runner.github.io/6.4/config/configuration-file.html
    browserDisconnectTimeout: browserDisconnectTimeoutInMs,
    processKillTimeout: testTimeoutInMs,
    concurrency: 10,
    client: {
      mocha: {
        timeout: testTimeoutInMs
      }
    }
});

// Add 5 second delay exit to ensure log flushing. This is needed for Kotlin to avoid flakiness when
// marking a test as complete. See (b/382336155)
// Remove when https://youtrack.jetbrains.com/issue/KT-73911/ is resolved.
(function() {
  const originalExit = process.exit;
  process.exit = function(code) {
    console.log('Delaying exit for logs...');
    setTimeout(() => {
      originalExit(code);
    }, 5000);
  };
})();
