xref: /aosp_15_r20/external/autotest/client/tools/make_clean (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
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