[SDFAB-490] Add TAP output for TestON
Change-Id: Ic63285fd8b46972c36ea302b23980e087615f025
diff --git a/TestON/core/logger.py b/TestON/core/logger.py
index 7826017..72db4c9 100644
--- a/TestON/core/logger.py
+++ b/TestON/core/logger.py
@@ -97,6 +97,12 @@
main.wikiFile.write( main.TEST + " at " + currentTime + "<p></p>\n" )
main.wikiFile.close()
+ # TAP file header
+ main.TAPFile = open( main.TAPFileName, "w+" )
+ main.TAPFile.write( "TAP version 13\n" )
+ main.TAPFile.close()
+
+
def initlog( self, main ):
'''
Initialise all the log handles.
@@ -115,6 +121,7 @@
main.LogFileName = main.logdir + "/" + main.TEST + "_" + str( currentTime ) + ".log"
main.ReportFileName = main.logdir + "/" + main.TEST + "_" + str( currentTime ) + ".rpt"
main.WikiFileName = main.logdir + "/" + main.TEST + "Wiki.txt"
+ main.TAPFileName = main.logdir + "/" + main.TEST + ".tap"
main.SummaryFileName = main.logdir + "/" + main.TEST + "Summary.txt"
main.JenkinsCSV = main.logdir + "/" + main.TEST + ".csv"
main.resultFile = main.logdir + "/" + main.TEST + "Result.txt"
@@ -166,6 +173,18 @@
main.log.wiki = wiki
+ def TAP( msg ):
+ '''
+ Will append the message to the txt file for TAP.
+ '''
+ main.log._log( 6, msg, "OpenFlowAutoMattion", "OFAutoMation" )
+ main.TAPFile = open( main.TAPFileName, "a+" )
+ main.TAPFile.write( msg + "\n" )
+ main.TAPFile.close()
+
+ main.log.TAP = TAP
+
+
def exact( exmsg ):
'''
Will append the raw formatted message to the logs
@@ -338,19 +357,23 @@
main.TOTAL_TC_NORESULT = main.TOTAL_TC_NORESULT + 1
main.log.exact( "\n " + "*" * 29 + "\n" + "\n Result: No Assertion Called \n" + "*" * 29 + "\n" )
line = "Case " + case + ": " + main.CurrentTestCase + " - No Result"
+ main.log.TAP( "ok - %s # TODO No assert called" % line )
elif currentResult == 1:
main.TOTAL_TC_RUN = main.TOTAL_TC_RUN + 1
main.TOTAL_TC_PASS = main.TOTAL_TC_PASS + 1
main.log.exact( "\n" + "*" * 29 + "\n Result: Pass \n" + "*" * 29 + "\n" )
line = "Case " + case + ": " + main.CurrentTestCase + " - PASS"
+ main.log.TAP( "ok - %s" % line )
elif currentResult == 0:
main.TOTAL_TC_RUN = main.TOTAL_TC_RUN + 1
main.TOTAL_TC_FAIL = main.TOTAL_TC_FAIL + 1
main.log.exact( "\n" + "*" * 29 + "\n Result: Failed \n" + "*" * 29 + "\n" )
line = "Case " + case + ": " + main.CurrentTestCase + " - FAIL"
+ main.log.TAP( "not ok - %s" % line )
else:
main.log.error( " Unknown result of case " + case +
". Result was: " + currentResult )
line = "Case " + case + ": " + main.CurrentTestCase + " - ERROR"
+ main.log.TAP( "not ok - %s" % line )
main.log.wiki( "<h3>" + line + "</h3>" )
main.log.summary( line )