Ran autopep8.
This commit is contained in:
parent
7ef02a7469
commit
07b43c6929
|
@ -578,6 +578,7 @@ class CppCheckFormatter(argparse.HelpFormatter):
|
|||
'''
|
||||
Properly formats multiline argument helps
|
||||
'''
|
||||
|
||||
def _split_lines(self, text, width):
|
||||
# this is the RawTextHelpFormatter._split_lines
|
||||
if text.startswith('R|'):
|
||||
|
@ -591,12 +592,12 @@ def ArgumentParser():
|
|||
'''
|
||||
parser = argparse.ArgumentParser(formatter_class=CppCheckFormatter)
|
||||
parser.add_argument('-t', '--template', metavar='<text>',
|
||||
default='{callstack}: ({severity}) {message}',
|
||||
help="R|Format the error messages. E.g.\n" \
|
||||
"'{file}:{line},{severity},{id},{message}' or\n" \
|
||||
"'{file}({line}):({severity}) {message}' or\n" \
|
||||
"'{callstack} {message}'\n" \
|
||||
"Pre-defined templates: gcc, vs, edit")
|
||||
default='{callstack}: ({severity}) {message}',
|
||||
help="R|Format the error messages. E.g.\n"
|
||||
"'{file}:{line},{severity},{id},{message}' or\n"
|
||||
"'{file}({line}):({severity}) {message}' or\n"
|
||||
"'{callstack} {message}'\n"
|
||||
"Pre-defined templates: gcc, vs, edit")
|
||||
return parser
|
||||
|
||||
# Format an error message.
|
||||
|
@ -619,9 +620,9 @@ def reportError(template, callstack=[], severity='', message='', id=''):
|
|||
elif template == 'edit':
|
||||
template = '{file} +{line}: {severity}: {message}'
|
||||
# compute 'callstack}, {file} and {line} replacements
|
||||
stack = ' -> '.join(['['+f+':'+str(l)+']' for (f,l) in callstack])
|
||||
stack = ' -> '.join(['[' + f + ':' + str(l) + ']' for (f, l) in callstack])
|
||||
file = callstack[-1][0]
|
||||
line = str(callstack[-1][1])
|
||||
# format message
|
||||
return template.format(callstack=stack, file=file, line=line,
|
||||
severity=severity, message=message, id=id)
|
||||
severity=severity, message=message, id=id)
|
||||
|
|
|
@ -198,7 +198,7 @@ def find_dump_files(paths):
|
|||
for (top, subdirs, files) in os.walk(path):
|
||||
for file in files:
|
||||
if file.endswith('.dump'):
|
||||
f = top+'/'+file
|
||||
f = top + '/' + file
|
||||
if not f in dumpfiles:
|
||||
dumpfiles.append(f)
|
||||
dumpfiles.sort()
|
||||
|
@ -212,9 +212,9 @@ def find_dump_files(paths):
|
|||
|
||||
parser = cppcheckdata.ArgumentParser()
|
||||
parser.add_argument('-q', '--quiet', action='store_true',
|
||||
help='do not print "Checking ..." lines')
|
||||
help='do not print "Checking ..." lines')
|
||||
parser.add_argument('paths', nargs='+', metavar='path',
|
||||
help='path to dump file or directory')
|
||||
help='path to dump file or directory')
|
||||
|
||||
# parse command line
|
||||
|
||||
|
|
|
@ -150,7 +150,7 @@ def scanarchive(filepath, jobs):
|
|||
|
||||
removeLargeFiles('')
|
||||
|
||||
print(strfCurrTime('[%H:%M] cppcheck ' ) + filename)
|
||||
print(strfCurrTime('[%H:%M] cppcheck ') + filename)
|
||||
|
||||
p = subprocess.Popen(
|
||||
['nice',
|
||||
|
|
406
tools/reduce.py
406
tools/reduce.py
|
@ -9,224 +9,224 @@ SEGFAULT = False
|
|||
FILE = None
|
||||
BACKUPFILE = None
|
||||
for arg in sys.argv[1:]:
|
||||
if arg.startswith('--cmd='):
|
||||
CMD = arg[arg.find('=')+1:]
|
||||
elif arg.startswith('--expected='):
|
||||
EXPECTED = arg[arg.find('=')+1:]
|
||||
elif arg.startswith('--file='):
|
||||
FILE = arg[arg.find('=')+1:]
|
||||
BACKUPFILE = FILE + '.bak'
|
||||
elif arg == '--segfault':
|
||||
SEGFAULT = True
|
||||
if arg.startswith('--cmd='):
|
||||
CMD = arg[arg.find('=') + 1:]
|
||||
elif arg.startswith('--expected='):
|
||||
EXPECTED = arg[arg.find('=') + 1:]
|
||||
elif arg.startswith('--file='):
|
||||
FILE = arg[arg.find('=') + 1:]
|
||||
BACKUPFILE = FILE + '.bak'
|
||||
elif arg == '--segfault':
|
||||
SEGFAULT = True
|
||||
|
||||
if CMD is None:
|
||||
print('Abort: No --cmd')
|
||||
sys.exit(1)
|
||||
print('Abort: No --cmd')
|
||||
sys.exit(1)
|
||||
|
||||
if SEGFAULT == False and EXPECTED is None:
|
||||
print('Abort: No --expected')
|
||||
sys.exit(1)
|
||||
print('Abort: No --expected')
|
||||
sys.exit(1)
|
||||
|
||||
if FILE is None:
|
||||
print('Abort: No --file')
|
||||
sys.exit(1)
|
||||
print('Abort: No --file')
|
||||
sys.exit(1)
|
||||
|
||||
print('CMD='+CMD)
|
||||
print('CMD=' + CMD)
|
||||
if SEGFAULT:
|
||||
print('EXPECTED=SEGFAULT')
|
||||
print('EXPECTED=SEGFAULT')
|
||||
else:
|
||||
print('EXPECTED='+EXPECTED)
|
||||
print('FILE='+FILE)
|
||||
print('EXPECTED=' + EXPECTED)
|
||||
print('FILE=' + FILE)
|
||||
|
||||
def runtool():
|
||||
p = subprocess.Popen(CMD.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
comm = p.communicate()
|
||||
if SEGFAULT:
|
||||
if p.returncode != 0:
|
||||
return True
|
||||
elif p.returncode == 0:
|
||||
out = comm[0] + '\n' + comm[1]
|
||||
if (out.find('error:') < 0) and (out.find(EXPECTED) > 0):
|
||||
return True
|
||||
return False
|
||||
p = subprocess.Popen(CMD.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
comm = p.communicate()
|
||||
if SEGFAULT:
|
||||
if p.returncode != 0:
|
||||
return True
|
||||
elif p.returncode == 0:
|
||||
out = comm[0] + '\n' + comm[1]
|
||||
if (out.find('error:') < 0) and (out.find(EXPECTED) > 0):
|
||||
return True
|
||||
return False
|
||||
|
||||
def writefile(filename, filedata):
|
||||
f = open(filename, 'wt')
|
||||
for line in filedata:
|
||||
f.write(line)
|
||||
f.close()
|
||||
f = open(filename, 'wt')
|
||||
for line in filedata:
|
||||
f.write(line)
|
||||
f.close()
|
||||
|
||||
def replaceandrun(what, filedata, i, line):
|
||||
print(what + ' ' + str(i+1) + '/' + str(len(filedata)) + '..')
|
||||
bak = filedata[i]
|
||||
filedata[i] = line
|
||||
writefile(FILE, filedata)
|
||||
if runtool() == True:
|
||||
print('pass')
|
||||
writefile(BACKUPFILE, filedata)
|
||||
return True
|
||||
print('fail')
|
||||
filedata[i] = bak
|
||||
return False
|
||||
print(what + ' ' + str(i + 1) + '/' + str(len(filedata)) + '..')
|
||||
bak = filedata[i]
|
||||
filedata[i] = line
|
||||
writefile(FILE, filedata)
|
||||
if runtool() == True:
|
||||
print('pass')
|
||||
writefile(BACKUPFILE, filedata)
|
||||
return True
|
||||
print('fail')
|
||||
filedata[i] = bak
|
||||
return False
|
||||
|
||||
def replaceandrun2(what, filedata, i, line1, line2):
|
||||
print(what + ' ' + str(i+1) + '/' + str(len(filedata)) + '..')
|
||||
bak1 = filedata[i]
|
||||
bak2 = filedata[i+1]
|
||||
filedata[i] = line1
|
||||
filedata[i+1] = line2
|
||||
writefile(FILE, filedata)
|
||||
if runtool() == True:
|
||||
print('pass')
|
||||
writefile(BACKUPFILE, filedata)
|
||||
else:
|
||||
print('fail')
|
||||
filedata[i] = bak1
|
||||
filedata[i+1] = bak2
|
||||
print(what + ' ' + str(i + 1) + '/' + str(len(filedata)) + '..')
|
||||
bak1 = filedata[i]
|
||||
bak2 = filedata[i + 1]
|
||||
filedata[i] = line1
|
||||
filedata[i + 1] = line2
|
||||
writefile(FILE, filedata)
|
||||
if runtool() == True:
|
||||
print('pass')
|
||||
writefile(BACKUPFILE, filedata)
|
||||
else:
|
||||
print('fail')
|
||||
filedata[i] = bak1
|
||||
filedata[i + 1] = bak2
|
||||
|
||||
def clearandrun(what, filedata, i1, i2):
|
||||
print(what + ' ' + str(i1+1) + '/' + str(len(filedata)) + '..')
|
||||
filedata2 = list(filedata)
|
||||
i = i1
|
||||
while i <= i2 and i < len(filedata2):
|
||||
filedata2[i] = ''
|
||||
i = i + 1
|
||||
writefile(FILE, filedata2)
|
||||
if runtool() == True:
|
||||
print('pass')
|
||||
writefile(BACKUPFILE, filedata2)
|
||||
return filedata2
|
||||
print('fail')
|
||||
return filedata
|
||||
|
||||
def removecomments(filedata):
|
||||
for i in range(len(filedata)):
|
||||
line = filedata[i]
|
||||
if line.find('//') >= 0:
|
||||
replaceandrun('remove comment', filedata, i, line[:line.find('//')].rstrip())
|
||||
|
||||
def checkpar(line):
|
||||
par = 0
|
||||
for c in line:
|
||||
if c=='(' or c=='[':
|
||||
par = par + 1
|
||||
elif c==')' or c==']':
|
||||
par = par - 1
|
||||
if par<0:
|
||||
return False
|
||||
return par == 0
|
||||
|
||||
def combinelines(filedata):
|
||||
if len(filedata) < 3:
|
||||
return
|
||||
|
||||
lines = []
|
||||
|
||||
for i in range(len(filedata)-1):
|
||||
fd1 = filedata[i].rstrip()
|
||||
if fd1.endswith(','):
|
||||
fd2 = filedata[i+1].lstrip()
|
||||
if fd2 != '':
|
||||
lines.append(i)
|
||||
|
||||
chunksize = len(lines)
|
||||
while chunksize > 10:
|
||||
i = 0
|
||||
while i < len(lines):
|
||||
i1 = i
|
||||
i2 = i + chunksize
|
||||
i = i2
|
||||
if i2 > len(lines):
|
||||
i2 = len(lines)
|
||||
|
||||
filedata2 = list(filedata)
|
||||
for line in lines[i1:i2]:
|
||||
filedata2[line] = filedata2[line].rstrip() + filedata2[line+1].lstrip()
|
||||
filedata2[line+1] = ''
|
||||
|
||||
if replaceandrun('combine lines', filedata2, lines[i1]+1, ''):
|
||||
filedata = filedata2
|
||||
lines[i1:i2] = []
|
||||
i = i1
|
||||
|
||||
chunksize = chunksize / 2
|
||||
|
||||
for line in lines:
|
||||
fd1 = filedata[line].rstrip()
|
||||
fd2 = filedata[line+1].lstrip()
|
||||
replaceandrun2('combine lines', filedata, line, fd1+fd2, '')
|
||||
|
||||
def removedirectives(filedata):
|
||||
for i in range(len(filedata)):
|
||||
if filedata[i].lstrip().startswith('#'):
|
||||
replaceandrun('remove preprocessor directive', filedata, i, '')
|
||||
|
||||
def removeblocks(filedata):
|
||||
if len(filedata) < 3:
|
||||
print(what + ' ' + str(i1 + 1) + '/' + str(len(filedata)) + '..')
|
||||
filedata2 = list(filedata)
|
||||
i = i1
|
||||
while i <= i2 and i < len(filedata2):
|
||||
filedata2[i] = ''
|
||||
i = i + 1
|
||||
writefile(FILE, filedata2)
|
||||
if runtool() == True:
|
||||
print('pass')
|
||||
writefile(BACKUPFILE, filedata2)
|
||||
return filedata2
|
||||
print('fail')
|
||||
return filedata
|
||||
|
||||
for i in range(len(filedata)):
|
||||
strippedline = filedata[i].strip()
|
||||
if len(strippedline)==0:
|
||||
continue
|
||||
if ';{}'.find(strippedline[-1]) < 0:
|
||||
continue
|
||||
def removecomments(filedata):
|
||||
for i in range(len(filedata)):
|
||||
line = filedata[i]
|
||||
if line.find('//') >= 0:
|
||||
replaceandrun('remove comment', filedata, i, line[:line.find('//')].rstrip())
|
||||
|
||||
i1 = i + 1
|
||||
while i1 < len(filedata) and filedata[i1].startswith('#'):
|
||||
i1 = i1 + 1
|
||||
def checkpar(line):
|
||||
par = 0
|
||||
for c in line:
|
||||
if c == '(' or c == '[':
|
||||
par = par + 1
|
||||
elif c == ')' or c == ']':
|
||||
par = par - 1
|
||||
if par < 0:
|
||||
return False
|
||||
return par == 0
|
||||
|
||||
i2 = i1
|
||||
indent = 0
|
||||
while i2 < len(filedata):
|
||||
for c in filedata[i2]:
|
||||
if c == '}':
|
||||
indent = indent - 1
|
||||
if indent == 0:
|
||||
indent = -100
|
||||
elif c == '{':
|
||||
indent = indent + 1
|
||||
if indent < 0:
|
||||
break
|
||||
i2 = i2 + 1
|
||||
if indent == -100:
|
||||
indent = 0
|
||||
if i2 == i1 or i2 >= len(filedata):
|
||||
continue
|
||||
if filedata[i2].strip() != '}' and filedata[i2].strip() != '};':
|
||||
continue
|
||||
if indent < 0:
|
||||
i2 = i2 - 1
|
||||
filedata = clearandrun('remove codeblock', filedata, i1, i2)
|
||||
def combinelines(filedata):
|
||||
if len(filedata) < 3:
|
||||
return
|
||||
|
||||
return filedata
|
||||
lines = []
|
||||
|
||||
for i in range(len(filedata) - 1):
|
||||
fd1 = filedata[i].rstrip()
|
||||
if fd1.endswith(','):
|
||||
fd2 = filedata[i + 1].lstrip()
|
||||
if fd2 != '':
|
||||
lines.append(i)
|
||||
|
||||
chunksize = len(lines)
|
||||
while chunksize > 10:
|
||||
i = 0
|
||||
while i < len(lines):
|
||||
i1 = i
|
||||
i2 = i + chunksize
|
||||
i = i2
|
||||
if i2 > len(lines):
|
||||
i2 = len(lines)
|
||||
|
||||
filedata2 = list(filedata)
|
||||
for line in lines[i1:i2]:
|
||||
filedata2[line] = filedata2[line].rstrip() + filedata2[line + 1].lstrip()
|
||||
filedata2[line + 1] = ''
|
||||
|
||||
if replaceandrun('combine lines', filedata2, lines[i1] + 1, ''):
|
||||
filedata = filedata2
|
||||
lines[i1:i2] = []
|
||||
i = i1
|
||||
|
||||
chunksize = chunksize / 2
|
||||
|
||||
for line in lines:
|
||||
fd1 = filedata[line].rstrip()
|
||||
fd2 = filedata[line + 1].lstrip()
|
||||
replaceandrun2('combine lines', filedata, line, fd1 + fd2, '')
|
||||
|
||||
def removedirectives(filedata):
|
||||
for i in range(len(filedata)):
|
||||
if filedata[i].lstrip().startswith('#'):
|
||||
replaceandrun('remove preprocessor directive', filedata, i, '')
|
||||
|
||||
def removeblocks(filedata):
|
||||
if len(filedata) < 3:
|
||||
return filedata
|
||||
|
||||
for i in range(len(filedata)):
|
||||
strippedline = filedata[i].strip()
|
||||
if len(strippedline) == 0:
|
||||
continue
|
||||
if ';{}'.find(strippedline[-1]) < 0:
|
||||
continue
|
||||
|
||||
i1 = i + 1
|
||||
while i1 < len(filedata) and filedata[i1].startswith('#'):
|
||||
i1 = i1 + 1
|
||||
|
||||
i2 = i1
|
||||
indent = 0
|
||||
while i2 < len(filedata):
|
||||
for c in filedata[i2]:
|
||||
if c == '}':
|
||||
indent = indent - 1
|
||||
if indent == 0:
|
||||
indent = -100
|
||||
elif c == '{':
|
||||
indent = indent + 1
|
||||
if indent < 0:
|
||||
break
|
||||
i2 = i2 + 1
|
||||
if indent == -100:
|
||||
indent = 0
|
||||
if i2 == i1 or i2 >= len(filedata):
|
||||
continue
|
||||
if filedata[i2].strip() != '}' and filedata[i2].strip() != '};':
|
||||
continue
|
||||
if indent < 0:
|
||||
i2 = i2 - 1
|
||||
filedata = clearandrun('remove codeblock', filedata, i1, i2)
|
||||
|
||||
return filedata
|
||||
|
||||
def removeline(filedata):
|
||||
stmt = True
|
||||
for i in range(len(filedata)):
|
||||
line = filedata[i]
|
||||
strippedline = line.strip()
|
||||
stmt = True
|
||||
for i in range(len(filedata)):
|
||||
line = filedata[i]
|
||||
strippedline = line.strip()
|
||||
|
||||
if len(strippedline) == 0:
|
||||
continue
|
||||
if len(strippedline) == 0:
|
||||
continue
|
||||
|
||||
if stmt and strippedline[-1]==';' and checkpar(line) and line.find('{')<0 and line.find('}')<0:
|
||||
replaceandrun('remove line', filedata, i, '')
|
||||
if stmt and strippedline[-1] == ';' and checkpar(line) and line.find('{') < 0 and line.find('}') < 0:
|
||||
replaceandrun('remove line', filedata, i, '')
|
||||
|
||||
elif stmt and strippedline.find('{') > 0 and strippedline.find('}') == len(strippedline) - 1:
|
||||
replaceandrun('remove line', filedata, i, '')
|
||||
elif stmt and strippedline.find('{') > 0 and strippedline.find('}') == len(strippedline) - 1:
|
||||
replaceandrun('remove line', filedata, i, '')
|
||||
|
||||
if ';{}'.find(strippedline[-1]) >= 0:
|
||||
stmt = True
|
||||
else:
|
||||
stmt = False
|
||||
if ';{}'.find(strippedline[-1]) >= 0:
|
||||
stmt = True
|
||||
else:
|
||||
stmt = False
|
||||
|
||||
|
||||
# reduce..
|
||||
print('Make sure error can be reproduced...')
|
||||
if runtool() == False:
|
||||
print("Cannot reproduce")
|
||||
sys.exit(1)
|
||||
print("Cannot reproduce")
|
||||
sys.exit(1)
|
||||
|
||||
f = open(FILE, 'rt')
|
||||
filedata = f.readlines()
|
||||
|
@ -235,31 +235,31 @@ f.close()
|
|||
writefile(BACKUPFILE, filedata)
|
||||
|
||||
while True:
|
||||
filedata1 = list(filedata)
|
||||
filedata1 = list(filedata)
|
||||
|
||||
print('remove comments...')
|
||||
removecomments(filedata)
|
||||
print('remove comments...')
|
||||
removecomments(filedata)
|
||||
|
||||
print('remove preprocessor directives...')
|
||||
removedirectives(filedata)
|
||||
print('remove preprocessor directives...')
|
||||
removedirectives(filedata)
|
||||
|
||||
print('remove blocks...')
|
||||
filedata = removeblocks(filedata)
|
||||
print('remove blocks...')
|
||||
filedata = removeblocks(filedata)
|
||||
|
||||
print('combine lines..')
|
||||
combinelines(filedata)
|
||||
print('combine lines..')
|
||||
combinelines(filedata)
|
||||
|
||||
print('remove line...')
|
||||
removeline(filedata)
|
||||
print('remove line...')
|
||||
removeline(filedata)
|
||||
|
||||
# if filedata and filedata2 are identical then stop
|
||||
if len(filedata1) == len(filedata):
|
||||
i = 0
|
||||
while i < len(filedata1):
|
||||
if filedata[i] != filedata1[i]:
|
||||
break
|
||||
i = i + 1
|
||||
if i == len(filedata1):
|
||||
break
|
||||
# if filedata and filedata2 are identical then stop
|
||||
if len(filedata1) == len(filedata):
|
||||
i = 0
|
||||
while i < len(filedata1):
|
||||
if filedata[i] != filedata1[i]:
|
||||
break
|
||||
i = i + 1
|
||||
if i == len(filedata1):
|
||||
break
|
||||
|
||||
writefile(FILE, filedata)
|
||||
|
|
|
@ -10,12 +10,12 @@ import sys
|
|||
START = 0
|
||||
PASSWORD = ''
|
||||
for arg in sys.argv[1:]:
|
||||
if len(arg)==1:
|
||||
START = '0123456789abcdefghijklmnopqrstuvwxyz'.find(arg)
|
||||
if START < 0:
|
||||
START = 0
|
||||
else:
|
||||
PASSWORD = arg
|
||||
if len(arg) == 1:
|
||||
START = '0123456789abcdefghijklmnopqrstuvwxyz'.find(arg)
|
||||
if START < 0:
|
||||
START = 0
|
||||
else:
|
||||
PASSWORD = arg
|
||||
|
||||
# Upload file to sourceforge web server using scp
|
||||
def upload(file_to_upload, destination):
|
||||
|
|
|
@ -21,20 +21,20 @@ import re
|
|||
import sys
|
||||
|
||||
if len(sys.argv) != 2:
|
||||
print('revisions not specified')
|
||||
sys.exit(1)
|
||||
print('revisions not specified')
|
||||
sys.exit(1)
|
||||
|
||||
res = re.match(r'([0-9]+):([0-9]+)', sys.argv[1])
|
||||
if res is None:
|
||||
print('invalid format, 11111:22222')
|
||||
sys.exit(1)
|
||||
print('invalid format, 11111:22222')
|
||||
sys.exit(1)
|
||||
|
||||
rev1 = int(res.group(1))
|
||||
rev2 = int(res.group(2))
|
||||
|
||||
if rev1>rev2 or rev1<10000 or rev2>20000 or rev2-rev1>500:
|
||||
print('range, aborting')
|
||||
sys.exit(1)
|
||||
if rev1 > rev2 or rev1 < 10000 or rev2 > 20000 or rev2 - rev1 > 500:
|
||||
print('range, aborting')
|
||||
sys.exit(1)
|
||||
|
||||
print('Revisions: ' + str(rev1) + ':' + str(rev2))
|
||||
|
||||
|
@ -42,17 +42,16 @@ f = open('results.txt', 'wt')
|
|||
f.write('\n')
|
||||
f.close()
|
||||
|
||||
for rev in range(rev1,rev2):
|
||||
subprocess.call(['svn', 'revert', '-R', '.'])
|
||||
subprocess.call(['svn', 'up', '-r' + str(rev)])
|
||||
for vcxproj in glob.glob('*/*.vcxproj'):
|
||||
subprocess.call([r'c:\cygwin64\bin\sed.exe', '-i', 's/140/120/', vcxproj])
|
||||
subprocess.call('msbuild cppcheck.sln /t:build /p:configuration=Release,platform=x64'.split())
|
||||
print('Revision:' + str(rev))
|
||||
p = subprocess.Popen(r'bin\cppcheck.exe src -q --showtime=summary'.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
comm = p.communicate()
|
||||
f = open('results.txt', 'at')
|
||||
f.write('\nREV ' + str(rev) + '\n')
|
||||
f.write(comm[0].decode('utf-8'))
|
||||
f.close()
|
||||
|
||||
for rev in range(rev1, rev2):
|
||||
subprocess.call(['svn', 'revert', '-R', '.'])
|
||||
subprocess.call(['svn', 'up', '-r' + str(rev)])
|
||||
for vcxproj in glob.glob('*/*.vcxproj'):
|
||||
subprocess.call([r'c:\cygwin64\bin\sed.exe', '-i', 's/140/120/', vcxproj])
|
||||
subprocess.call('msbuild cppcheck.sln /t:build /p:configuration=Release,platform=x64'.split())
|
||||
print('Revision:' + str(rev))
|
||||
p = subprocess.Popen(r'bin\cppcheck.exe src -q --showtime=summary'.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
comm = p.communicate()
|
||||
f = open('results.txt', 'at')
|
||||
f.write('\nREV ' + str(rev) + '\n')
|
||||
f.write(comm[0].decode('utf-8'))
|
||||
f.close()
|
||||
|
|
Loading…
Reference in New Issue