17db96d56Sopenharmony_ci"""Tests for distutils.command.clean.""" 27db96d56Sopenharmony_ciimport os 37db96d56Sopenharmony_ciimport unittest 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_cifrom distutils.command.clean import clean 67db96d56Sopenharmony_cifrom distutils.tests import support 77db96d56Sopenharmony_cifrom test.support import run_unittest 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ciclass cleanTestCase(support.TempdirManager, 107db96d56Sopenharmony_ci support.LoggingSilencer, 117db96d56Sopenharmony_ci unittest.TestCase): 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci def test_simple_run(self): 147db96d56Sopenharmony_ci pkg_dir, dist = self.create_dist() 157db96d56Sopenharmony_ci cmd = clean(dist) 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci # let's add some elements clean should remove 187db96d56Sopenharmony_ci dirs = [(d, os.path.join(pkg_dir, d)) 197db96d56Sopenharmony_ci for d in ('build_temp', 'build_lib', 'bdist_base', 207db96d56Sopenharmony_ci 'build_scripts', 'build_base')] 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci for name, path in dirs: 237db96d56Sopenharmony_ci os.mkdir(path) 247db96d56Sopenharmony_ci setattr(cmd, name, path) 257db96d56Sopenharmony_ci if name == 'build_base': 267db96d56Sopenharmony_ci continue 277db96d56Sopenharmony_ci for f in ('one', 'two', 'three'): 287db96d56Sopenharmony_ci self.write_file(os.path.join(path, f)) 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci # let's run the command 317db96d56Sopenharmony_ci cmd.all = 1 327db96d56Sopenharmony_ci cmd.ensure_finalized() 337db96d56Sopenharmony_ci cmd.run() 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci # make sure the files where removed 367db96d56Sopenharmony_ci for name, path in dirs: 377db96d56Sopenharmony_ci self.assertFalse(os.path.exists(path), 387db96d56Sopenharmony_ci '%s was not removed' % path) 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci # let's run the command again (should spit warnings but succeed) 417db96d56Sopenharmony_ci cmd.all = 1 427db96d56Sopenharmony_ci cmd.ensure_finalized() 437db96d56Sopenharmony_ci cmd.run() 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_cidef test_suite(): 467db96d56Sopenharmony_ci return unittest.TestLoader().loadTestsFromTestCase(cleanTestCase) 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ciif __name__ == "__main__": 497db96d56Sopenharmony_ci run_unittest(test_suite()) 50