1275958aacfb2a9fd4b363d33defa4a92649fb533Tarek Ziadé"""Tests for distutils.util."""
2275958aacfb2a9fd4b363d33defa4a92649fb533Tarek Ziadéimport sys
3275958aacfb2a9fd4b363d33defa4a92649fb533Tarek Ziadéimport unittest
454274ad96aa033b9f3744dce395d08047467cca9Éric Araujofrom test.test_support import run_unittest
5275958aacfb2a9fd4b363d33defa4a92649fb533Tarek Ziadé
63d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujofrom distutils.errors import DistutilsByteCompileError
73d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujofrom distutils.util import byte_compile, grok_environment_error
83d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujo
9a99dedfce29536ec156466b6846ef90dda46f1e2Tarek Ziadé
10dd7bef9bf56933851e68094ffc70f8f20bc6b036Tarek Ziadéclass UtilTestCase(unittest.TestCase):
11a99dedfce29536ec156466b6846ef90dda46f1e2Tarek Ziadé
12b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé    def test_dont_write_bytecode(self):
13b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé        # makes sure byte_compile raise a DistutilsError
14b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé        # if sys.dont_write_bytecode is True
15b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé        old_dont_write_bytecode = sys.dont_write_bytecode
16b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé        sys.dont_write_bytecode = True
17b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé        try:
18b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé            self.assertRaises(DistutilsByteCompileError, byte_compile, [])
19b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé        finally:
20468f700af773815e93f32743fa69c1815241d286Tarek Ziadé            sys.dont_write_bytecode = old_dont_write_bytecode
21b9c1cfc42881370322ff6894568b45dcfec5ba2eTarek Ziadé
223d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujo    def test_grok_environment_error(self):
233d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujo        # test obsolete function to ensure backward compat (#4931)
243d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujo        exc = IOError("Unable to find batch file")
253d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujo        msg = grok_environment_error(exc)
263d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujo        self.assertEqual(msg, "error: Unable to find batch file")
273d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujo
283d1134e39551cd4277538f1fa9137fdf238d07fbÉric Araujo
29275958aacfb2a9fd4b363d33defa4a92649fb533Tarek Ziadédef test_suite():
30450ca11a58c222bcf7a225e947b5f9fbcb45d311Tarek Ziadé    return unittest.makeSuite(UtilTestCase)
31275958aacfb2a9fd4b363d33defa4a92649fb533Tarek Ziadé
32275958aacfb2a9fd4b363d33defa4a92649fb533Tarek Ziadéif __name__ == "__main__":
3354274ad96aa033b9f3744dce395d08047467cca9Éric Araujo    run_unittest(test_suite())
34