summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/sol2/Catch/scripts/approvalTests.py
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/sol2/Catch/scripts/approvalTests.py')
-rw-r--r--3rdparty/sol2/Catch/scripts/approvalTests.py115
1 files changed, 0 insertions, 115 deletions
diff --git a/3rdparty/sol2/Catch/scripts/approvalTests.py b/3rdparty/sol2/Catch/scripts/approvalTests.py
deleted file mode 100644
index 618812f888d..00000000000
--- a/3rdparty/sol2/Catch/scripts/approvalTests.py
+++ /dev/null
@@ -1,115 +0,0 @@
-from __future__ import print_function
-
-import os
-import sys
-import subprocess
-import re
-
-from scriptCommon import catchPath
-
-rootPath = os.path.join( catchPath, 'projects/SelfTest/Baselines' )
-
-filenameParser = re.compile( r'(.*)/(.*\..pp:)(.*)' )
-filelineParser = re.compile( r'(.*\..pp:)([0-9]*)(.*)' )
-pathParser = re.compile( r'(.*?)/(.*\..pp)(.*)' )
-lineNumberParser = re.compile( r'(.*)line="[0-9]*"(.*)' )
-hexParser = re.compile( r'(.*)\b(0[xX][0-9a-fA-F]+)\b(.*)' )
-durationsParser = re.compile( r'(.*)time="[0-9]*\.[0-9]*"(.*)' )
-versionParser = re.compile( r'(.*?)Catch v[0-9]*\.[0-9]*\.[0-9]*(.*)' )
-devVersionParser = re.compile( r'(.*?)Catch v[0-9]*\.[0-9]*\.[0-9]*-develop\.[0-9]*(.*)' )
-
-if len(sys.argv) == 2:
- cmdPath = sys.argv[1]
-else:
- cmdPath = os.path.join( catchPath, 'projects/XCode/CatchSelfTest/DerivedData/CatchSelfTest/Build/Products/Debug/CatchSelfTest' )
-
-overallResult = 0
-
-def filterLine( line ):
- m = filenameParser.match( line )
- if m:
- line = m.group(2) + m.group(3)
- m2 = filelineParser.match( line )
- if m2:
- line = m2.group(1) + "<line number>" + m2.group(3)
- else:
- m2 = lineNumberParser.match( line )
- if m2:
- line = m2.group(1) + m2.group(2)
- m = pathParser.match( line )
- if m:
- path = "/" + m.group(2)
- if path.startswith( catchPath ):
- path = path[1+len(catchPath):]
- line = m.group(1) + path + m.group(3)
- m = devVersionParser.match( line )
- if m:
- line = m.group(1) + "<version>" + m.group(2)
- else:
- m = versionParser.match( line )
- if m:
- line = m.group(1) + "<version>" + m.group(2)
-
- while True:
- m = hexParser.match( line )
- if m:
- line = m.group(1) + "0x<hex digits>" + m.group(3)
- else:
- break
- m = durationsParser.match( line )
- if m:
- line = m.group(1) + 'time="{duration}"' + m.group(2)
- return line
-
-def approve( baseName, args ):
- global overallResult
- args[0:0] = [cmdPath]
- if not os.path.exists( cmdPath ):
- raise Exception( "Executable doesn't exist at " + cmdPath )
- baselinesPath = os.path.join( rootPath, '{0}.approved.txt'.format( baseName ) )
- rawResultsPath = os.path.join( rootPath, '_{0}.tmp'.format( baseName ) )
- filteredResultsPath = os.path.join( rootPath, '{0}.unapproved.txt'.format( baseName ) )
-
- f = open( rawResultsPath, 'w' )
- subprocess.call( args, stdout=f, stderr=f )
- f.close()
-
- rawFile = open( rawResultsPath, 'r' )
- filteredFile = open( filteredResultsPath, 'w' )
- for line in rawFile:
- filteredFile.write( filterLine( line ).rstrip() + "\n" )
- filteredFile.close()
- rawFile.close()
-
- os.remove( rawResultsPath )
- print()
- print( baseName + ":" )
- if os.path.exists( baselinesPath ):
- diffResult = subprocess.call([ "diff", baselinesPath, filteredResultsPath ] )
- if diffResult == 0:
- os.remove( filteredResultsPath )
- print( " \033[92mResults matched" )
- else:
- print( " \n****************************\n \033[91mResults differed" )
- if diffResult > overallResult:
- overallResult = diffResult
- print( "\033[0m" )
- else:
- print( " first approval" )
- if overallResult == 0:
- overallResult = 1
-
-# Standard console reporter
-approve( "console.std", ["~_"] )
-# console reporter, include passes, warn about No Assertions
-approve( "console.sw", ["~_", "-s", "-w", "NoAssertions"] )
-# console reporter, include passes, warn about No Assertions, limit failures to first 4
-approve( "console.swa4", ["~_", "-s", "-w", "NoAssertions", "-x", "4"] )
-# junit reporter, include passes, warn about No Assertions
-approve( "junit.sw", ["~_", "-s", "-w", "NoAssertions", "-r", "junit"] )
-# xml reporter, include passes, warn about No Assertions
-approve( "xml.sw", ["~_", "-s", "-w", "NoAssertions", "-r", "xml"] )
-
-if overallResult != 0:
- print( "run approve.py to approve new baselines" )
-exit( overallResult)