Esempio n. 1
0
    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
Esempio n. 3
0
 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);