mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
[3.13] gh-128636: Fix crash in PyREPL when os.environ
is overwritten with an invalid value (GH-128653) (#129186)
gh-128636: Fix crash in PyREPL when `os.environ` is overwritten with an invalid value (GH-128653)
(cherry picked from commit ba9a4b6215
)
Co-authored-by: Tomas R <tomas.roun8@gmail.com>
This commit is contained in:
parent
67971cd605
commit
0b90dc8e89
3 changed files with 22 additions and 5 deletions
|
@ -1,7 +1,9 @@
|
|||
import itertools
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
from functools import partial
|
||||
from test.support import os_helper
|
||||
from unittest import TestCase
|
||||
from unittest.mock import MagicMock, call, patch, ANY
|
||||
|
||||
|
@ -312,3 +314,14 @@ class TestConsole(TestCase):
|
|||
)
|
||||
console.restore()
|
||||
con.restore()
|
||||
|
||||
def test_getheightwidth_with_invalid_environ(self, _os_write):
|
||||
# gh-128636
|
||||
console = UnixConsole()
|
||||
with os_helper.EnvironmentVarGuard() as env:
|
||||
env["LINES"] = ""
|
||||
self.assertIsInstance(console.getheightwidth(), tuple)
|
||||
env["COLUMNS"] = ""
|
||||
self.assertIsInstance(console.getheightwidth(), tuple)
|
||||
os.environ = []
|
||||
self.assertIsInstance(console.getheightwidth(), tuple)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue