Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def toXml( self, result, out ):
atom = "http://www.w3.org/2005/Atom"
tf = "http://sdk.nokia.com/test-framework/ns/1.0"
gen = XMLGenerator( out, 'utf-8' )
gen.startDocument()
gen.startPrefixMapping( 'atom', atom)
gen.startPrefixMapping( 'tf', tf )
startElement( gen, atom, 'entry' )
writeElement( gen, atom, 'title', result.constructTitle() )
writeElement( gen, atom, 'updated', datetime.datetime.now().isoformat() )
writeElement( gen, tf, 'errorSummary', exitStatusAsString( result.status() ) )
writeElement( gen, tf, 'host', socket.gethostname() )
if result._testStart != None:
writeElement( gen, tf, 'testStart', result._testStart.isoformat() )
else:
result._internalErrors.append( "Result generator: no start timestamp found." )
if result._testEnd != None:
writeElement( gen, tf, 'testEnd', result._testEnd.isoformat() )
else:
result._internalErrors.append( "Result generator: no end timestamp found." )
startElement( gen, tf, 'installer' )
writeElement( gen, tf, 'sourceUrl', result._installerSourceLocation )
writeElement( gen, tf, 'platform', result._installerTargetPlatform )
#TODO revision
endElement( gen, tf, 'installer' )
if result._testcase != None:
startElement( gen, tf, 'testCase' )
writeElement( gen, tf, 'name', result._testcase.name() )
writeElement( gen, tf, 'path', result._testcase.path() )
writeElement( gen, tf, 'installScript', result._testcase.installscript() )
endElement( gen, tf, 'testCase' )
else:
result._internalErrors.append( "Result generator: No test case given." )
if result._installationResult != None:
startElement( gen, tf, 'installationResult' )
writeElement( gen, tf, 'exitCode', str( result._installationResult.exitCode ) )
writeElement( gen, tf, 'exitStatus', exitStatusAsString( result._installationResult.exitStatus ) )
endElement( gen, tf, 'installationResult' )
else:
result._internalErrors.append( "Result generator: No installation result given." )
startElement( gen, tf, 'checkerResult' )
for err in result._checkerErrors:
writeElement( gen, tf, 'error', err )
endElement( gen, tf, 'checkerResult' )
startElement( gen, tf, 'virtualMachine' )
writeElement( gen, tf, 'path', result._vm.vmxPath() )
writeElement( gen, tf, 'platform', result._vm.ostype() )
writeElement( gen, tf, 'snapshot', result._vm.snapshot() )
endElement( gen, tf, 'virtualMachine' )
startElement( gen, tf, 'internalErrors' )
startElement( gen, None, "Test", { u"Status":stat } )
writeElement( gen, None, "Name", name )
writeElement( gen, None, "FullName", name )
startElement( gen, None, "NamedMeasurement", { u"type":u"text/string", u"name":u"Exit Code"} )
if r:
msg = "(Unexpected)"
ec = r.exitCode
if ec == 0:
msg = "(Success)"
elif ec == 1:
msg = "(Failed)"
elif ec == 2:
msg = "(Canceled)"
writeElement( gen, None, "Value", "Exit status: {0}; Installer exit code: {1} {2}".format( exitStatusAsString( r.exitStatus ), str( r.exitCode ), msg ) )
else:
writeElement( gen, None, "Value", "Could not determine installation result." )
endElement( gen, None, "NamedMeasurement" )
if r:
startElement( gen, None, "NamedMeasurement", { u"type":u"numeric/double", u"name":u"Execution Time"} )
writeElement( gen, None, "Value", str( r.executionTime ) )
endElement( gen, None, "NamedMeasurement" )
endElement( gen, None, "Test" )