1*9c5db199SXin Li#!/usr/bin/python3 2*9c5db199SXin Lifrom __future__ import absolute_import 3*9c5db199SXin Lifrom __future__ import division 4*9c5db199SXin Lifrom __future__ import print_function 5*9c5db199SXin Li 6*9c5db199SXin Liimport os 7*9c5db199SXin Li 8*9c5db199SXin Lidef purge_src(top_dir): 9*9c5db199SXin Li if not os.path.exists(top_dir): 10*9c5db199SXin Li return 11*9c5db199SXin Li for dir in os.listdir(top_dir): 12*9c5db199SXin Li if dir.startswith('.'): 13*9c5db199SXin Li continue 14*9c5db199SXin Li py = os.path.join (top_dir, dir, dir + '.py') 15*9c5db199SXin Li if not os.path.exists(py): 16*9c5db199SXin Li continue 17*9c5db199SXin Li ret = os.system('grep -q "preserve_srcdir = " ' + py) 18*9c5db199SXin Li src_path = os.path.abspath(os.path.join('tests', dir, 'src')) 19*9c5db199SXin Li if not os.path.exists(src_path): 20*9c5db199SXin Li continue 21*9c5db199SXin Li if ret: # This should have a replaceable src dir 22*9c5db199SXin Li cmd = 'rm -rf ' + src_path 23*9c5db199SXin Li else: 24*9c5db199SXin Li cmd = 'cd %s; make clean > /dev/null 2>&1 ' % src_path 25*9c5db199SXin Li 26*9c5db199SXin Li print('Cleaning %s test dir' % dir) 27*9c5db199SXin Li os.system(cmd) 28*9c5db199SXin Li 29*9c5db199SXin Liif os.path.isdir('tmp'): 30*9c5db199SXin Li os.system('cd tmp && ls -A | xargs rm -rf') 31*9c5db199SXin Li 32*9c5db199SXin Lifor dir in ['site_tests', 'site_profilers', 'tests', 'profilers', 'deps']: 33*9c5db199SXin Li purge_src(dir) 34