17db96d56Sopenharmony_ci"""Tests for distutils.command.bdist.""" 27db96d56Sopenharmony_ciimport os 37db96d56Sopenharmony_ciimport unittest 47db96d56Sopenharmony_cifrom test.support import run_unittest 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ciimport warnings 77db96d56Sopenharmony_ciwith warnings.catch_warnings(): 87db96d56Sopenharmony_ci warnings.simplefilter('ignore', DeprecationWarning) 97db96d56Sopenharmony_ci from distutils.command.bdist import bdist 107db96d56Sopenharmony_ci from distutils.tests import support 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ciclass BuildTestCase(support.TempdirManager, 147db96d56Sopenharmony_ci unittest.TestCase): 157db96d56Sopenharmony_ci 167db96d56Sopenharmony_ci def test_formats(self): 177db96d56Sopenharmony_ci # let's create a command and make sure 187db96d56Sopenharmony_ci # we can set the format 197db96d56Sopenharmony_ci dist = self.create_dist()[1] 207db96d56Sopenharmony_ci cmd = bdist(dist) 217db96d56Sopenharmony_ci cmd.formats = ['tar'] 227db96d56Sopenharmony_ci cmd.ensure_finalized() 237db96d56Sopenharmony_ci self.assertEqual(cmd.formats, ['tar']) 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci # what formats does bdist offer? 267db96d56Sopenharmony_ci formats = ['bztar', 'gztar', 'rpm', 'tar', 'xztar', 'zip', 'ztar'] 277db96d56Sopenharmony_ci found = sorted(cmd.format_command) 287db96d56Sopenharmony_ci self.assertEqual(found, formats) 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci def test_skip_build(self): 317db96d56Sopenharmony_ci # bug #10946: bdist --skip-build should trickle down to subcommands 327db96d56Sopenharmony_ci dist = self.create_dist()[1] 337db96d56Sopenharmony_ci cmd = bdist(dist) 347db96d56Sopenharmony_ci cmd.skip_build = 1 357db96d56Sopenharmony_ci cmd.ensure_finalized() 367db96d56Sopenharmony_ci dist.command_obj['bdist'] = cmd 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci for name in ['bdist_dumb']: # bdist_rpm does not support --skip-build 397db96d56Sopenharmony_ci subcmd = cmd.get_finalized_command(name) 407db96d56Sopenharmony_ci if getattr(subcmd, '_unsupported', False): 417db96d56Sopenharmony_ci # command is not supported on this build 427db96d56Sopenharmony_ci continue 437db96d56Sopenharmony_ci self.assertTrue(subcmd.skip_build, 447db96d56Sopenharmony_ci '%s should take --skip-build from bdist' % name) 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci 477db96d56Sopenharmony_cidef test_suite(): 487db96d56Sopenharmony_ci return unittest.TestLoader().loadTestsFromTestCase(BuildTestCase) 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ciif __name__ == '__main__': 527db96d56Sopenharmony_ci run_unittest(test_suite()) 53