MCPcopy Index your code
hub / github.com/RustPython/RustPython / run

Method run

extra_tests/custom_text_test_runner.py:811–887  ·  view source on GitHub ↗
(self, test)

Source from the content-addressed store, hash-verified

809 )
810
811 def run(self, test):
812 output = ""
813 "Run the given test case or test suite."
814 result = self._makeResult()
815 registerResult(result)
816 result.failfast = self.failfast
817 result.buffer = self.buffer
818 startTime = time.time()
819 startTestRun = getattr(result, "startTestRun", None)
820 if startTestRun is not None:
821 startTestRun()
822 try:
823 test(result)
824 finally:
825 stopTestRun = getattr(result, "stopTestRun", None)
826 if stopTestRun is not None:
827 stopTestRun()
828 stopTime = time.time()
829 timeTaken = stopTime - startTime
830 # filter results to output
831 if result.show_previous_results:
832 r = result.results["suites"]
833 else:
834 r = {
835 k: v
836 for (k, v) in list(result.results["suites"].items())
837 if k not in result.previous_suite_runs
838 }
839 # print results based on verbosity
840 if result.show_all:
841 result.printSkippedDetail(r)
842 if result.show_errors_detail:
843 result.printErrorsDetail(r)
844 if result.show_individual_suite_results:
845 result.printIndividualSuiteResults(r)
846 if result.show_errors:
847 result.printErrorsOverview(r)
848 if result.show_overall_results:
849 result.printOverallSuiteResults(r)
850 run = result.testsRun
851 self.stream.writeln(
852 "Ran %d test case%s in %.4fs" % (run, run != 1 and "s" or "", timeTaken)
853 )
854 self.stream.writeln()
855
856 expectedFails = unexpectedSuccesses = skipped = 0
857 try:
858 results = map(
859 len,
860 (result.expectedFailures, result.unexpectedSuccesses, result.skipped),
861 )
862 except AttributeError:
863 pass
864 else:
865 expectedFails, unexpectedSuccesses, skipped = results
866
867 infos = []
868 if not result.wasSuccessful():

Callers 9

interpreter_with_configFunction · 0.45
interpreter_with_vmFunction · 0.45
jsontests.pyFile · 0.45
testFunction · 0.45
stdlib_sys.pyFile · 0.45
run_syncFunction · 0.45
mainFunction · 0.45
mainFunction · 0.45

Calls 15

_makeResultMethod · 0.95
registerResultFunction · 0.85
getattrFunction · 0.85
listClass · 0.85
printSkippedDetailMethod · 0.80
printErrorsDetailMethod · 0.80
printErrorsOverviewMethod · 0.80
testFunction · 0.50
timeMethod · 0.45
itemsMethod · 0.45

Tested by

no test coverage detected