1*9c5db199SXin Li#!/usr/bin/python3 2*9c5db199SXin Li# Copyright 2017 The Chromium OS Authors. All rights reserved. 3*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be 4*9c5db199SXin Li# found in the LICENSE file. 5*9c5db199SXin Li 6*9c5db199SXin Liimport os 7*9c5db199SXin Li 8*9c5db199SXin Liimport common 9*9c5db199SXin Lifrom autotest_lib.client.bin import utils 10*9c5db199SXin Lifrom autotest_lib.client.common_lib import error 11*9c5db199SXin Lifrom autotest_lib.site_utils import lxc 12*9c5db199SXin Lifrom autotest_lib.site_utils.lxc import utils as lxc_utils 13*9c5db199SXin Li 14*9c5db199SXin Li 15*9c5db199SXin LiTEST_CONTAINER_PATH = os.path.join(lxc.DEFAULT_CONTAINER_PATH, 'test') 16*9c5db199SXin LiTEST_HOST_PATH = os.path.join(TEST_CONTAINER_PATH, 'host') 17*9c5db199SXin Li 18*9c5db199SXin Lidef main(): 19*9c5db199SXin Li """Clean up the remnants from any old aborted unit tests.""" 20*9c5db199SXin Li # Manually clean out the host dir. 21*9c5db199SXin Li if lxc_utils.path_exists(TEST_HOST_PATH): 22*9c5db199SXin Li for host_dir in os.listdir(TEST_HOST_PATH): 23*9c5db199SXin Li host_dir = os.path.realpath(os.path.join(TEST_HOST_PATH, host_dir)) 24*9c5db199SXin Li try: 25*9c5db199SXin Li utils.run('sudo umount %s' % host_dir) 26*9c5db199SXin Li except error.CmdError: 27*9c5db199SXin Li pass 28*9c5db199SXin Li utils.run('sudo rm -r %s' % host_dir) 29*9c5db199SXin Li 30*9c5db199SXin Li # Utilize the container_bucket to clear out old test containers. 31*9c5db199SXin Li bucket = lxc.ContainerBucket(TEST_CONTAINER_PATH, TEST_HOST_PATH) 32*9c5db199SXin Li bucket.destroy_all() 33*9c5db199SXin Li 34*9c5db199SXin Li 35*9c5db199SXin Liif __name__ == '__main__': 36*9c5db199SXin Li main() 37