export function serializeTest()

in packages/synthetics-sdk-mocha/src/gcm_synthetics_mocha_reporter.ts [138:164]


export function serializeTest(
  test: Mocha.Test,
  err: NodeJS.ErrnoException | undefined
): TestResult {
  const now = Date.now();
  return {
    // Relevant for uptime metrics
    test_passed: !err,
    test_start_time: new Date(now - (test.duration ?? 0)).toISOString(),
    test_end_time: new Date(now).toISOString(),
    // metadata for logging
    title: test.title,
    title_paths: test.titlePath(),
    test_error: err
      ? {
          error_type: err.name,
          error_message: err.message,
          stack_frames: ErrorStackParser.parse(err).map((frame) => ({
            file_path: frame.fileName ?? '',
            line: frame.lineNumber,
            column: frame.columnNumber,
            function_name: frame.functionName ?? '',
          })),
        }
      : undefined,
  };
}