#NEWLINE# def tearDown( self ) : #NEWLINE# #INDENT# if self . skip : #NEWLINE# #INDENT# return #NEWLINE# #UNINDENT# if ( self . p . poll ( ) == None ) : #NEWLINE# #INDENT# os . kill ( self . p . pid , signal . SIGINT ) #NEWLINE# time . sleep ( 0.5 ) #NEWLINE# #UNINDENT# while ( self . p . poll ( ) == None ) : #NEWLINE# #INDENT# os . kill ( self . p . pid , signal . SIGTERM ) #NEWLINE# time . sleep ( 1 ) #NEWLINE# #UNINDENT# for stream in ( stream . p . stdout , self . p . stderr ) : #NEWLINE# #INDENT# for line in stream : #NEWLINE# #INDENT# if ( tob ( 'warning' ) in line . lower ( ) ) : #NEWLINE# #INDENT# tools . warn ( line . strip ( ) . decode ( 'utf8' ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( tob ( 'error' ) in line . lower ( ) ) : #NEWLINE# #INDENT# raise AssertionError ( line . strip ( ) . decode ( 'utf8' ) )