[Python-checkins] gh-101821: Test coverage for `ast.main` function (#101822)

hauntsaninja webhook-mailer at python.org
Sat Mar 11 14:11:09 EST 2023


https://github.com/python/cpython/commit/bb396eece44036a71427e7766fbb8e0247373102
commit: bb396eece44036a71427e7766fbb8e0247373102
branch: main
author: Nikita Sobolev <mail at sobolevn.me>
committer: hauntsaninja <12621235+hauntsaninja at users.noreply.github.com>
date: 2023-03-11T11:10:52-08:00
summary:

gh-101821: Test coverage for `ast.main` function (#101822)

files:
M Lib/test/test_ast.py

diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py
index 7c9a57c685df..6c932e1305e1 100644
--- a/Lib/test/test_ast.py
+++ b/Lib/test/test_ast.py
@@ -11,6 +11,7 @@
 from textwrap import dedent
 
 from test import support
+from test.support import os_helper, script_helper
 from test.support.ast_helper import ASTTestMixin
 
 def to_tuple(t):
@@ -2564,6 +2565,25 @@ def test_subinterpreter(self):
         self.assertEqual(res, 0)
 
 
+class ASTMainTests(unittest.TestCase):
+    # Tests `ast.main()` function.
+
+    def test_cli_file_input(self):
+        code = "print(1, 2, 3)"
+        expected = ast.dump(ast.parse(code), indent=3)
+
+        with os_helper.temp_dir() as tmp_dir:
+            filename = os.path.join(tmp_dir, "test_module.py")
+            with open(filename, 'w', encoding='utf-8') as f:
+                f.write(code)
+            res, _ = script_helper.run_python_until_end("-m", "ast", filename)
+
+        self.assertEqual(res.err, b"")
+        self.assertEqual(expected.splitlines(),
+                         res.out.decode("utf8").splitlines())
+        self.assertEqual(res.rc, 0)
+
+
 def main():
     if __name__ != '__main__':
         return



More information about the Python-checkins mailing list