# -*- Mode: Python -*-
import os
# Delete everything reachable from the directory named in 'top',
# assuming there are no symbolic links.
# CAUTION: This is dangerous! For example, if top == '/', it
# could delete all your disk files.
for root, dirs, files in os.walk ('.', topdown=False):
if root.find ('.dSYM') != -1:
# get rid of annoying MacOS .dSYM directories
for name in files:
os.remove (os.path.join (root, name))
os.rmdir (root)
else:
for name in files:
if name.endswith ('~') or name.endswith ('.pyc'):
# get rid of emacs backup files and pyc files
os.remove (os.path.join (root, name))
for root, dirs, files in os.walk ('./tests', topdown=False):
for name in files:
jp = os.path.join (root, name)
if name.endswith ('.c'):
os.remove (jp)
else:
stat = os.stat (jp)
if stat.st_mode & 1:
# an executable
os.remove (jp)
for root, dirs, files in os.walk ('./vm', topdown=False):
for name in files:
jp = os.path.join (root, name)
if name.endswith ('.c'):
os.remove (jp)
else:
stat = os.stat (jp)
if stat.st_mode & 1:
# an executable
os.remove (jp)
for root, dirs, files in os.walk ('./self', topdown=False):
for name in files:
jp = os.path.join (root, name)
if name.endswith ('.c'):
os.remove (jp)
else:
stat = os.stat (jp)
if stat.st_mode & 1:
# an executable
os.remove (jp)
def unlink (p):
try:
os.unlink (p)
except:
pass
unlink ('test.image')
unlink ('thing.txt')
unlink ('parse/t0.log')