14710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm"""Tests for distutils.command.bdist_wininst."""
24710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmimport unittest
34710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
44710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom test.test_support import run_unittest
54710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
64710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom distutils.command.bdist_wininst import bdist_wininst
74710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmfrom distutils.tests import support
84710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
94710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmclass BuildWinInstTestCase(support.TempdirManager,
104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                           support.LoggingSilencer,
114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                           unittest.TestCase):
124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm    def test_get_exe_bytes(self):
144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        # issue5731: command was broken on non-windows platforms
164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        # this test makes sure it works now for every platform
174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        # let's create a command
184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        pkg_pth, dist = self.create_dist()
194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        cmd = bdist_wininst(dist)
204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        cmd.ensure_finalized()
214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        # let's run the code that finds the right wininst*.exe file
234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        # and make sure it finds it and returns its content
244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        # no matter what platform we have
254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        exe_file = cmd.get_exe_bytes()
264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        self.assertTrue(len(exe_file) > 10)
274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmdef test_suite():
294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm    return unittest.makeSuite(BuildWinInstTestCase)
304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmif __name__ == '__main__':
324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm    run_unittest(test_suite())
33