mirror of
https://github.com/catchorg/Catch2.git
synced 2025-09-17 10:25:39 +02:00
Moved scripts into their own folder
This commit is contained in:
54
scripts/approvalTests.py
Normal file
54
scripts/approvalTests.py
Normal file
@@ -0,0 +1,54 @@
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import re
|
||||
|
||||
filenameParser = re.compile( r'\s*.*/(.*\..pp)(.*)' )
|
||||
hexParser = re.compile( r'(.*)\b(0[xX][0-9a-fA-F]+)\b(.*)' )
|
||||
|
||||
catchPath = os.path.realpath(os.path.dirname(sys.argv[0]))
|
||||
baselinesPath = os.path.join( catchPath, '../projects/SelfTest/Baselines/approvedResults.txt' )
|
||||
rawResultsPath = os.path.join( catchPath, '../projects/SelfTest/Baselines/_rawResults.tmp' )
|
||||
filteredResultsPath = os.path.join( catchPath, '../projects/SelfTest/Baselines/unapprovedResults.txt' )
|
||||
|
||||
if len(sys.argv) == 2:
|
||||
cmdPath = sys.argv[1]
|
||||
else:
|
||||
cmdPath = "../projects/XCode4/CatchSelfTest/DerivedData/CatchSelfTest/Build/Products/Debug/CatchSelfTest"
|
||||
|
||||
f = open( rawResultsPath, 'w' )
|
||||
subprocess.call([ cmdPath, "~dummy", "-s", "-w", "NoAssertions", "-r", "console" ], stdout=f, stderr=f )
|
||||
subprocess.call([ cmdPath, "~dummy", "-s", "-w", "NoAssertions", "-r", "console", "-a", "4" ], stdout=f, stderr=f )
|
||||
subprocess.call([ cmdPath, "~dummy", "-s", "-w", "NoAssertions", "-r", "junit" ], stdout=f, stderr=f )
|
||||
subprocess.call([ cmdPath, "~dummy", "-s", "-w", "NoAssertions", "-r", "xml" ], stdout=f, stderr=f )
|
||||
subprocess.call([ cmdPath, "~dummy", "-s", "-w", "NoAssertions", "-r", "basic" ], stdout=f, stderr=f )
|
||||
subprocess.call([ cmdPath, "~dummy", "-s", "-w", "NoAssertions", "-r", "basic", "-a", "4" ], stdout=f, stderr=f )
|
||||
f.close()
|
||||
|
||||
rawFile = open( rawResultsPath, 'r' )
|
||||
filteredFile = open( filteredResultsPath, 'w' )
|
||||
for line in rawFile:
|
||||
m = filenameParser.match( line )
|
||||
if m:
|
||||
line = m.group(1) + m.group(2)
|
||||
|
||||
while True:
|
||||
m = hexParser.match( line )
|
||||
if m:
|
||||
line = m.group(1) + "0x<hex digits>" + m.group(3)
|
||||
else:
|
||||
break
|
||||
filteredFile.write( line.rstrip() + "\n" )
|
||||
filteredFile.close()
|
||||
rawFile.close()
|
||||
|
||||
os.remove( rawResultsPath )
|
||||
print
|
||||
diffResult = subprocess.call([ "diff", baselinesPath, filteredResultsPath ] )
|
||||
if diffResult == 0:
|
||||
os.remove( filteredResultsPath )
|
||||
print "\033[92mResults matched"
|
||||
else:
|
||||
print "\n****************************\n\033[91mResults differed"
|
||||
print "\033[0m"
|
||||
exit( diffResult)
|
Reference in New Issue
Block a user