function runCLIWithoutWaiting(args, overrides = {}) {
  const {env: extraEnvVars, cwd, useMockLhr = false} = overrides;
  const env = getCleanEnvironment(extraEnvVars);
  if (useMockLhr) env.LHCITEST_MOCK_LHR = MOCK_LHR;

  const childProcess = spawn('node', [CLI_PATH, ...args], {
    cwd,
    env,
  });

  const results = {stdout: '', stderr: '', status: -1, matches: {uuids: []}};
  childProcess.stdout.on('data', chunk => (results.stdout += chunk.toString()));
  childProcess.stderr.on('data', chunk => (results.stderr += chunk.toString()));
  childProcess.once('exit', code => (results.status = code));
  const exitPromise = new Promise(r => childProcess.once('exit', r));

  results.exitPromise = exitPromise.then(() => {
    results.matches.uuids = results.stdout.match(UUID_REGEX);
    results.stdout = cleanStdOutput(results.stdout);
    results.stderr = cleanStdOutput(results.stderr);
  });
  results.childProcess = childProcess;
  return results;
}
@param {string[]} args
@param {{cwd?: string, env?: Record<string, string>, useMockLhr?: boolean}} [overrides]
@return {{stdout: string, stderr: string, status: number, matches: {uuids: RegExpMatchArray}, childProcess: NodeJS.ChildProcess, exitPromise: Promise<void>}}