17db96d56Sopenharmony_ci"""Tests for scripts in the Tools directory.
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ciThis file contains regression tests for some of the scripts found in the
47db96d56Sopenharmony_ciTools directory of a Python checkout or tarball, such as reindent.py.
57db96d56Sopenharmony_ci"""
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_ciimport os
87db96d56Sopenharmony_ciimport unittest
97db96d56Sopenharmony_cifrom test.support.script_helper import assert_python_ok
107db96d56Sopenharmony_cifrom test.support import findfile
117db96d56Sopenharmony_ci
127db96d56Sopenharmony_cifrom test.test_tools import scriptsdir, skip_if_missing
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ciskip_if_missing()
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ciclass ReindentTests(unittest.TestCase):
177db96d56Sopenharmony_ci    script = os.path.join(scriptsdir, 'reindent.py')
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ci    def test_noargs(self):
207db96d56Sopenharmony_ci        assert_python_ok(self.script)
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ci    def test_help(self):
237db96d56Sopenharmony_ci        rc, out, err = assert_python_ok(self.script, '-h')
247db96d56Sopenharmony_ci        self.assertEqual(out, b'')
257db96d56Sopenharmony_ci        self.assertGreater(err, b'')
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ci    def test_reindent_file_with_bad_encoding(self):
287db96d56Sopenharmony_ci        bad_coding_path = findfile('bad_coding.py')
297db96d56Sopenharmony_ci        rc, out, err = assert_python_ok(self.script, '-r', bad_coding_path)
307db96d56Sopenharmony_ci        self.assertEqual(out, b'')
317db96d56Sopenharmony_ci        self.assertNotEqual(err, b'')
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ci
347db96d56Sopenharmony_ciif __name__ == '__main__':
357db96d56Sopenharmony_ci    unittest.main()
36