ngspice/examples/paranoia/textract.py

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()