You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							153 lines
						
					
					
						
							4.1 KiB
						
					
					
				
			
		
		
	
	
							153 lines
						
					
					
						
							4.1 KiB
						
					
					
				'use strict'; | 
						|
 | 
						|
Object.defineProperty(exports, '__esModule', { | 
						|
  value: true | 
						|
}); | 
						|
exports.addResult = exports.buildFailureTestResult = exports.makeEmptyAggregatedTestResult = void 0; | 
						|
 | 
						|
/** | 
						|
 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | 
						|
 * | 
						|
 * This source code is licensed under the MIT license found in the | 
						|
 * LICENSE file in the root directory of this source tree. | 
						|
 */ | 
						|
const makeEmptyAggregatedTestResult = () => ({ | 
						|
  numFailedTestSuites: 0, | 
						|
  numFailedTests: 0, | 
						|
  numPassedTestSuites: 0, | 
						|
  numPassedTests: 0, | 
						|
  numPendingTestSuites: 0, | 
						|
  numPendingTests: 0, | 
						|
  numRuntimeErrorTestSuites: 0, | 
						|
  numTodoTests: 0, | 
						|
  numTotalTestSuites: 0, | 
						|
  numTotalTests: 0, | 
						|
  openHandles: [], | 
						|
  snapshot: { | 
						|
    added: 0, | 
						|
    didUpdate: false, | 
						|
    // is set only after the full run | 
						|
    failure: false, | 
						|
    filesAdded: 0, | 
						|
    // combines individual test results + removed files after the full run | 
						|
    filesRemoved: 0, | 
						|
    filesRemovedList: [], | 
						|
    filesUnmatched: 0, | 
						|
    filesUpdated: 0, | 
						|
    matched: 0, | 
						|
    total: 0, | 
						|
    unchecked: 0, | 
						|
    uncheckedKeysByFile: [], | 
						|
    unmatched: 0, | 
						|
    updated: 0 | 
						|
  }, | 
						|
  startTime: 0, | 
						|
  success: true, | 
						|
  testResults: [], | 
						|
  wasInterrupted: false | 
						|
}); | 
						|
 | 
						|
exports.makeEmptyAggregatedTestResult = makeEmptyAggregatedTestResult; | 
						|
 | 
						|
const buildFailureTestResult = (testPath, err) => ({ | 
						|
  console: undefined, | 
						|
  displayName: '', | 
						|
  failureMessage: null, | 
						|
  leaks: false, | 
						|
  numFailingTests: 0, | 
						|
  numPassingTests: 0, | 
						|
  numPendingTests: 0, | 
						|
  numTodoTests: 0, | 
						|
  openHandles: [], | 
						|
  perfStats: { | 
						|
    end: 0, | 
						|
    start: 0 | 
						|
  }, | 
						|
  skipped: false, | 
						|
  snapshot: { | 
						|
    added: 0, | 
						|
    fileDeleted: false, | 
						|
    matched: 0, | 
						|
    unchecked: 0, | 
						|
    uncheckedKeys: [], | 
						|
    unmatched: 0, | 
						|
    updated: 0 | 
						|
  }, | 
						|
  sourceMaps: {}, | 
						|
  testExecError: err, | 
						|
  testFilePath: testPath, | 
						|
  testResults: [] | 
						|
}); // Add individual test result to an aggregated test result | 
						|
 | 
						|
exports.buildFailureTestResult = buildFailureTestResult; | 
						|
 | 
						|
const addResult = (aggregatedResults, testResult) => { | 
						|
  // `todos` are new as of Jest 24, and not all runners return it. | 
						|
  // Set it to `0` to avoid `NaN` | 
						|
  if (!testResult.numTodoTests) { | 
						|
    testResult.numTodoTests = 0; | 
						|
  } | 
						|
 | 
						|
  aggregatedResults.testResults.push(testResult); | 
						|
  aggregatedResults.numTotalTests += | 
						|
    testResult.numPassingTests + | 
						|
    testResult.numFailingTests + | 
						|
    testResult.numPendingTests + | 
						|
    testResult.numTodoTests; | 
						|
  aggregatedResults.numFailedTests += testResult.numFailingTests; | 
						|
  aggregatedResults.numPassedTests += testResult.numPassingTests; | 
						|
  aggregatedResults.numPendingTests += testResult.numPendingTests; | 
						|
  aggregatedResults.numTodoTests += testResult.numTodoTests; | 
						|
 | 
						|
  if (testResult.testExecError) { | 
						|
    aggregatedResults.numRuntimeErrorTestSuites++; | 
						|
  } | 
						|
 | 
						|
  if (testResult.skipped) { | 
						|
    aggregatedResults.numPendingTestSuites++; | 
						|
  } else if (testResult.numFailingTests > 0 || testResult.testExecError) { | 
						|
    aggregatedResults.numFailedTestSuites++; | 
						|
  } else { | 
						|
    aggregatedResults.numPassedTestSuites++; | 
						|
  } // Snapshot data | 
						|
 | 
						|
  if (testResult.snapshot.added) { | 
						|
    aggregatedResults.snapshot.filesAdded++; | 
						|
  } | 
						|
 | 
						|
  if (testResult.snapshot.fileDeleted) { | 
						|
    aggregatedResults.snapshot.filesRemoved++; | 
						|
  } | 
						|
 | 
						|
  if (testResult.snapshot.unmatched) { | 
						|
    aggregatedResults.snapshot.filesUnmatched++; | 
						|
  } | 
						|
 | 
						|
  if (testResult.snapshot.updated) { | 
						|
    aggregatedResults.snapshot.filesUpdated++; | 
						|
  } | 
						|
 | 
						|
  aggregatedResults.snapshot.added += testResult.snapshot.added; | 
						|
  aggregatedResults.snapshot.matched += testResult.snapshot.matched; | 
						|
  aggregatedResults.snapshot.unchecked += testResult.snapshot.unchecked; | 
						|
 | 
						|
  if ( | 
						|
    testResult.snapshot.uncheckedKeys && | 
						|
    testResult.snapshot.uncheckedKeys.length > 0 | 
						|
  ) { | 
						|
    aggregatedResults.snapshot.uncheckedKeysByFile.push({ | 
						|
      filePath: testResult.testFilePath, | 
						|
      keys: testResult.snapshot.uncheckedKeys | 
						|
    }); | 
						|
  } | 
						|
 | 
						|
  aggregatedResults.snapshot.unmatched += testResult.snapshot.unmatched; | 
						|
  aggregatedResults.snapshot.updated += testResult.snapshot.updated; | 
						|
  aggregatedResults.snapshot.total += | 
						|
    testResult.snapshot.added + | 
						|
    testResult.snapshot.matched + | 
						|
    testResult.snapshot.unmatched + | 
						|
    testResult.snapshot.updated; | 
						|
}; | 
						|
 | 
						|
exports.addResult = addResult;
 | 
						|
 |