18fc0e5a4b697b886939d07228344fdda7b1e4aacmbligh#!/usr/bin/python 28fc0e5a4b697b886939d07228344fdda7b1e4aacmblighimport os 38fc0e5a4b697b886939d07228344fdda7b1e4aacmbligh 48fc0e5a4b697b886939d07228344fdda7b1e4aacmblighdef purge_src(top_dir): 594bdda0911771236b7979f9396397452c6f125dambligh if not os.path.exists(top_dir): 694bdda0911771236b7979f9396397452c6f125dambligh return 70afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski for dir in os.listdir(top_dir): 80afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski if dir.startswith('.'): 90afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski continue 100afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski py = os.path.join (top_dir, dir, dir + '.py') 110afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski if not os.path.exists(py): 120afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski continue 130afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski ret = os.system('grep -q "preserve_srcdir = " ' + py) 140afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski src_path = os.path.abspath(os.path.join('tests', dir, 'src')) 150afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski if not os.path.exists(src_path): 160afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski continue 170afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski if ret: # This should have a replaceable src dir 180afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski cmd = 'rm -rf ' + src_path 190afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski else: 200afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski cmd = 'cd %s; make clean > /dev/null 2>&1 ' % src_path 218fc0e5a4b697b886939d07228344fdda7b1e4aacmbligh 22d0e94981f3771ec95821358bee9d27fda7378288mbligh print 'Cleaning %s test dir' % dir 230afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski os.system(cmd) 248fc0e5a4b697b886939d07228344fdda7b1e4aacmbligh 25ef8f1f358be9b724ffc70112413af5e55ab26efdmblighif os.path.isdir('tmp'): 26ef8f1f358be9b724ffc70112413af5e55ab26efdmbligh os.system('cd tmp && ls -A | xargs rm -rf') 276fd4428c6ea9e48b1f2926c69ca0361abbf15ae1mbligh 2894bdda0911771236b7979f9396397452c6f125damblighfor dir in ['site_tests', 'site_profilers', 'tests', 'profilers', 'deps']: 290afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181jadmanski purge_src(dir) 30