def actionExecute(self): reporter.testStart('reporter.testXXXX API'); reporter.testValue('value-name1', 123456789, 'ms'); reporter.testStart('subtest'); reporter.testValue('value-name2', 11223344, 'times'); reporter.testDone(); reporter.testStart('subtest2'); reporter.testValue('value-name3', 39, 'sec'); reporter.testValue('value-name4', 42, 'ns'); reporter.testDone(); reporter.testStart('subtest3'); reporter.testDone(fSkipped = True); # No spaces in XML. reporter.testStart('subtest4'); oSubXmlFile = reporter.FileWrapperTestPipe(); oSubXmlFile.write('<?xml version="1.0" encoding="UTF-8" ?>'); oSubXmlFile.write('<Test timestamp="%s" name="foobar1">' % (utils.getIsoTimestamp(),)); oSubXmlFile.write('<Test timestamp="%s" name="sub1">' % (utils.getIsoTimestamp(),)); oSubXmlFile.write('<Passed timestamp="%s"/>' % (utils.getIsoTimestamp(),)); oSubXmlFile.write('</Test>'); oSubXmlFile.write('<End timestamp="%s" errors="0"/>' % (utils.getIsoTimestamp(),)); oSubXmlFile.write('</Test>'); oSubXmlFile.close(); oSubXmlFile = None; reporter.testDone(); # Spaces + funny line endings. reporter.testStart('subtest5'); oSubXmlFile = reporter.FileWrapperTestPipe(); oSubXmlFile.write('<?xml version="1.0" encoding="UTF-8" ?>\r\n'); oSubXmlFile.write('<Test timestamp="%s" name="foobar2">\n\n\t\n\r\n' % (utils.getIsoTimestamp(),)); oSubXmlFile.write('<Test timestamp="%s" name="sub2">' % (utils.getIsoTimestamp(),)); oSubXmlFile.write(' <Passed timestamp="%s"/>\n' % (utils.getIsoTimestamp(),)); oSubXmlFile.write(' </Test>\n'); oSubXmlFile.write(' <End timestamp="%s" errors="0"/>\r' % (utils.getIsoTimestamp(),)); oSubXmlFile.write('</Test>'); oSubXmlFile.close(); reporter.testDone(); # A few long log times for WUI log testing. reporter.log('long line: asdfasdfljkasdlfkjasldkfjlaksdfjl asdlfkjasdlkfjalskdfjlaksdjfa falkjaldkjfalskdjflaksdjf ' \ 'lajksdflkjasdlfkjalsdfj asldfkjlaskdjflaksdjflaksdjflkj asdlfkjalsdkfjalsdkjflaksdj fasdlfkj ' \ 'asdlkfj aljkasdflkj alkjdsf lakjsdf'); reporter.log('long line: asdfasdfljkasdlfkjasldkfjlaksdfjl asdlfkjasdlkfjalskdfjlaksdjfa falkjaldkjfalskdjflaksdjf ' \ 'lajksdflkjasdlfkjalsdfj asldfkjlaskdjflaksdjflaksdjflkj asdlfkjalsdkfjalsdkjflaksdj fasdlfkj ' \ 'asdlkfj aljkasdflkj alkjdsf lakjsdf'); reporter.log('long line: asdfasdfljkasdlfkjasldkfjlaksdfjl asdlfkjasdlkfjalskdfjlaksdjfa falkjaldkjfalskdjflaksdjf ' \ 'lajksdflkjasdlfkjalsdfj asldfkjlaskdjflaksdjflaksdjflkj asdlfkjalsdkfjalsdkjflaksdj fasdlfkj ' \ 'asdlkfj aljkasdflkj alkjdsf lakjsdf'); # Upload a file. reporter.addLogFile(__file__, sKind = 'log/release/vm'); reporter.testDone(); return True;
def actionExecute(self): # Testing PushHint/PopHint. reporter.testStart('Negative XML #1') oSubXmlFile = reporter.FileWrapperTestPipe() oSubXmlFile.write('<Test timestamp="%s" name="foobar3">\n\n\t\n\r\n' % (utils.getIsoTimestamp(), )) oSubXmlFile.write('<Test timestamp="%s" name="sub3">' % (utils.getIsoTimestamp(), )) oSubXmlFile.write('<Test timestamp="%s" name="subsub1">' % (utils.getIsoTimestamp(), )) oSubXmlFile.close() reporter.testDone() # Missing end, like we had with IRPT at one time. reporter.testStart('Negative XML #2 (IPRT)') oSubXmlFile = reporter.FileWrapperTestPipe() oSubXmlFile.write(""" <?xml version="1.0" encoding="UTF-8" ?> <Test timestamp="2013-05-29T08:59:05.930602000Z" name="tstRTGetOpt"> <Test timestamp="2013-05-29T08:59:05.930656000Z" name="Basics"> <Passed timestamp="2013-05-29T08:59:05.930756000Z"/> </Test> <Test timestamp="2013-05-29T08:59:05.930995000Z" name="RTGetOpt - IPv4"> <Passed timestamp="2013-05-29T08:59:05.931036000Z"/> </Test> <Test timestamp="2013-05-29T08:59:05.931161000Z" name="RTGetOpt - MAC Address"> <Passed timestamp="2013-05-29T08:59:05.931194000Z"/> </Test> <Test timestamp="2013-05-29T08:59:05.931313000Z" name="RTGetOpt - Option w/ Index"> <Passed timestamp="2013-05-29T08:59:05.931357000Z"/> </Test> <Test timestamp="2013-05-29T08:59:05.931475000Z" name="RTGetOptFetchValue"> <Passed timestamp="2013-05-29T08:59:05.931516000Z"/> </Test> <Test timestamp="2013-05-29T08:59:05.931640000Z" name="RTGetOpt - bool on/off"> <Passed timestamp="2013-05-29T08:59:05.931687000Z"/> </Test> <Test timestamp="2013-05-29T08:59:05.931807000Z" name="Standard options"> <Passed timestamp="2013-05-29T08:59:05.931843000Z"/> </Test> <Test timestamp="2013-05-29T08:59:05.931963000Z" name="Options first"> <Passed timestamp="2013-05-29T08:59:05.932035000Z"/> </Test> """) oSubXmlFile.close() oSubXmlFile = None reporter.testDone() # The use of testFailure. reporter.testStart('Using testFailure()') reporter.testValue('value-name3', 12345678, 'times') reporter.testFailure('failure detail message') reporter.testDone() return True
def _execLocallyOrThroughTxs(self, sExec, asArgs, sInput, cMsTimeout): """ Executes the given program locally or through TXS based on the current config. """ fRc = False; sOutput = None; if self.oTxsSession is not None: reporter.log('Executing [remote]: %s %s %s' % (sExec, asArgs, sInput)); reporter.flushall(); oStdOut = StdInOutBuffer(); oStdErr = StdInOutBuffer(); oTestPipe = reporter.FileWrapperTestPipe(); oStdIn = None; if sInput is not None: oStdIn = StdInOutBuffer(sInput); else: oStdIn = '/dev/null'; # pylint: disable=redefined-variable-type fRc = self.oTxsSession.syncExecEx(sExec, (sExec,) + asArgs, oStdIn = oStdIn, oStdOut = oStdOut, oStdErr = oStdErr, oTestPipe = oTestPipe, cMsTimeout = cMsTimeout); sOutput = oStdOut.getOutput(); sError = oStdErr.getOutput(); if fRc is False: reporter.log('Exit code [remote]: %s (stdout: %s stderr: %s)' % (fRc, sOutput, sError)); else: reporter.log('Exit code [remote]: %s' % (fRc,)); else: fRc, sOutput, sError = self._sudoExecuteSync([sExec, ] + list(asArgs), sInput); return (fRc, sOutput, sError);