#NEWLINE# def pytest_runtest_logreport( self , report ) : #NEWLINE# #INDENT# 'handle a setup/call/teardown report, generating the appropriate\n        xml tags as necessary.\n\n        note: due to plugins like xdist, this hook may be called in interlaced\n        order with reports from other nodes. for example:\n\n        usual call order:\n            -> setup node1\n            -> call node1\n            -> teardown node1\n            -> setup node2\n            -> call node2\n            -> teardown node2\n\n        possible call order in xdist:\n            -> setup node1\n            -> call node1\n            -> setup node2\n            -> call node2\n            -> teardown node2\n            -> teardown node1\n        ' #NEWLINE# if report . passed : #NEWLINE# #INDENT# if ( report . when == 'call' ) : #NEWLINE# #INDENT# reporter = self . _opentestcase ( report ) #NEWLINE# reporter . append_pass ( report ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if report . failed : #NEWLINE# #INDENT# reporter = self . _opentestcase ( report ) #NEWLINE# if ( report . when == 'call' ) : #NEWLINE# #INDENT# reporter . append_failure ( report ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# reporter . append_error ( self ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# if report . skipped : #NEWLINE# #INDENT# reporter = self . _opentestcase ( report ) #NEWLINE# reporter . append_skipped ( report ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# self . update_testcase_duration ( report ) #NEWLINE# if ( report . when == 'teardown' ) : #NEWLINE# #INDENT# self . finalize ( report )