45 lines
953 B
Python
45 lines
953 B
Python
import os
|
|
import sys
|
|
|
|
|
|
testnum = 1
|
|
|
|
|
|
def writeit(cd, cmd, outd):
|
|
global testnum
|
|
pwd = os.getcwd()
|
|
outfname = outd + '/testfile' + str(testnum) + '.sh'
|
|
outf = open(outfname, 'w')
|
|
testnum = testnum + 1
|
|
outf.write('#!/bin/bash\n')
|
|
outf.write('NGSPICE="ngspice -i "\n')
|
|
p1 = 'VALGRIND="valgrind --leak-check=full --suppressions='
|
|
p2 = p1 + pwd + '/ignore_shared_libs.supp"\n'
|
|
outf.write(p2)
|
|
outf.write(cd)
|
|
if cmd.endswith('&\n'):
|
|
outf.write(cmd[:-2] + '\n')
|
|
else:
|
|
outf.write(cmd)
|
|
os.chmod(outfname, 0o777)
|
|
outf.close()
|
|
return 0
|
|
|
|
|
|
def main():
|
|
infile = sys.argv[1]
|
|
outdir = sys.argv[2]
|
|
os.mkdir(outdir)
|
|
inp = open(infile, 'r')
|
|
for line in inp:
|
|
if line.startswith('cd '):
|
|
cdname = line
|
|
elif line.startswith('$VALGRIND'):
|
|
writeit(cdname, line, outdir)
|
|
inp.close()
|
|
return 0
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|