55 lines
1.5 KiB
Python
55 lines
1.5 KiB
Python
import os,sys
|
|
import subprocess
|
|
|
|
RANGE=[chr(i) for i in range(ord('a'), ord('p'))]
|
|
|
|
# First create crash-a/b/c.t files
|
|
template = open('crash-template').read()
|
|
|
|
def add_sys161_opts(content, sys161_opts):
|
|
content = content.split('\n')
|
|
idx = content[1:].index('---') + 1
|
|
content.insert(idx, sys161_opts.strip())
|
|
content = '\n'.join(content)
|
|
return content
|
|
|
|
def create_crash(char, sys161_opts=None):
|
|
content = template.replace('-template', '-%s' % char)
|
|
content = content.replace(', crash]', ', crash-fork]')
|
|
content = content.replace('[console]', '[console, /asst2/process/forktest.t]')
|
|
if sys161_opts:
|
|
content = add_sys161_opts(content, sys161_opts)
|
|
|
|
with open('crash-%s.t' % char, 'w') as f:
|
|
f.write(content)
|
|
|
|
# now do the F version
|
|
content = template.replace('-template', '-%sF' % char)
|
|
if sys161_opts:
|
|
content = add_sys161_opts(content, sys161_opts)
|
|
with open('crash-%sF.t' % char, 'w') as f:
|
|
f.write(content)
|
|
|
|
for char in RANGE:
|
|
create_crash(char)
|
|
|
|
# Now do the 'all'
|
|
sys161_opts = \
|
|
'''
|
|
sys161:
|
|
ram: 2M
|
|
'''
|
|
create_crash('all', sys161_opts)
|
|
|
|
#p = subprocess.Popen('ls *.t', shell=True, stdout=subprocess.PIPE)
|
|
#stdout, stderr = p.communicate()
|
|
#files = stdout.strip().split('\n')
|
|
#
|
|
#for f in files:
|
|
# name, ext = os.path.splitext(f)
|
|
#
|
|
# new_file = name + 'F' + ext
|
|
# letters = name[name.index('-'):]
|
|
# subprocess.check_call('cp %s %s' % (f, new_file), shell=True)
|
|
# subprocess.check_call('''sed -i 's/%s/%sF/g' %s''' % (letters, letters, new_file), shell=True)
|