| 
									
										
										
										
											2009-04-05 22:57:21 +00:00
										 |  |  | """Tests for distutils.command.bdist.""" | 
					
						
							|  |  |  | import os | 
					
						
							| 
									
										
										
										
											2011-08-29 21:48:39 +02:00
										 |  |  | import unittest | 
					
						
							| 
									
										
										
										
											2010-11-06 02:44:43 +00:00
										 |  |  | from test.support import run_unittest | 
					
						
							| 
									
										
										
										
											2009-04-05 22:57:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | from distutils.command.bdist import bdist | 
					
						
							|  |  |  | from distutils.tests import support | 
					
						
							| 
									
										
										
										
											2011-08-29 21:48:39 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-05 22:57:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class BuildTestCase(support.TempdirManager, | 
					
						
							|  |  |  |                     unittest.TestCase): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_formats(self): | 
					
						
							|  |  |  |         # let's create a command and make sure | 
					
						
							| 
									
										
										
										
											2011-08-29 21:48:39 +02:00
										 |  |  |         # we can set the format | 
					
						
							|  |  |  |         dist = self.create_dist()[1] | 
					
						
							| 
									
										
										
										
											2009-04-05 22:57:21 +00:00
										 |  |  |         cmd = bdist(dist) | 
					
						
							|  |  |  |         cmd.formats = ['msi'] | 
					
						
							|  |  |  |         cmd.ensure_finalized() | 
					
						
							| 
									
										
										
										
											2010-11-20 19:04:17 +00:00
										 |  |  |         self.assertEqual(cmd.formats, ['msi']) | 
					
						
							| 
									
										
										
										
											2009-04-05 22:57:21 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-29 21:48:39 +02:00
										 |  |  |         # what formats does bdist offer? | 
					
						
							|  |  |  |         formats = ['bztar', 'gztar', 'msi', 'rpm', 'tar', | 
					
						
							|  |  |  |                    'wininst', 'zip', 'ztar'] | 
					
						
							|  |  |  |         found = sorted(cmd.format_command) | 
					
						
							|  |  |  |         self.assertEqual(found, formats) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_skip_build(self): | 
					
						
							|  |  |  |         # bug #10946: bdist --skip-build should trickle down to subcommands | 
					
						
							|  |  |  |         dist = self.create_dist()[1] | 
					
						
							|  |  |  |         cmd = bdist(dist) | 
					
						
							|  |  |  |         cmd.skip_build = 1 | 
					
						
							|  |  |  |         cmd.ensure_finalized() | 
					
						
							|  |  |  |         dist.command_obj['bdist'] = cmd | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         names = ['bdist_dumb', 'bdist_wininst']  # bdist_rpm does not support --skip-build | 
					
						
							|  |  |  |         if os.name == 'nt': | 
					
						
							|  |  |  |             names.append('bdist_msi') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         for name in names: | 
					
						
							|  |  |  |             subcmd = cmd.get_finalized_command(name) | 
					
						
							|  |  |  |             self.assertTrue(subcmd.skip_build, | 
					
						
							|  |  |  |                             '%s should take --skip-build from bdist' % name) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-05 22:57:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | def test_suite(): | 
					
						
							|  |  |  |     return unittest.makeSuite(BuildTestCase) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							| 
									
										
										
										
											2010-11-06 02:44:43 +00:00
										 |  |  |     run_unittest(test_suite()) |