10c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi"""Tests for distutils.command.install_headers.""" 20c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yiimport sys 30c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yiimport os 40c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yiimport unittest 50c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yiimport getpass 60c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi 70c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yifrom distutils.command.install_headers import install_headers 80c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yifrom distutils.tests import support 90c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yifrom test.test_support import run_unittest 100c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi 110c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yiclass InstallHeadersTestCase(support.TempdirManager, 120c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi support.LoggingSilencer, 130c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi support.EnvironGuard, 140c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi unittest.TestCase): 150c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi 160c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi def test_simple_run(self): 170c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi # we have two headers 180c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi header_list = self.mkdtemp() 190c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi header1 = os.path.join(header_list, 'header1') 200c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi header2 = os.path.join(header_list, 'header2') 210c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi self.write_file(header1) 220c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi self.write_file(header2) 230c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi headers = [header1, header2] 240c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi 250c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi pkg_dir, dist = self.create_dist(headers=headers) 260c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi cmd = install_headers(dist) 270c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi self.assertEqual(cmd.get_inputs(), headers) 280c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi 290c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi # let's run the command 300c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi cmd.install_dir = os.path.join(pkg_dir, 'inst') 310c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi cmd.ensure_finalized() 320c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi cmd.run() 330c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi 340c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi # let's check the results 350c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi self.assertEqual(len(cmd.get_outputs()), 2) 360c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi 370c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yidef test_suite(): 380c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi return unittest.makeSuite(InstallHeadersTestCase) 390c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi 400c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yiif __name__ == "__main__": 410c5958b1636c47ed7c284f859c8e805fd06a0e6Bill Yi run_unittest(test_suite()) 42