Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

`test_curses` regression in 3.16.0a1: `test_newterm` fails on a real terminal that's not 80x25

已關閉 適合新手
#159,394 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
72/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
python
領域
testing

研究方向

失敗的檢查是 Lib/test/test_curses.py 中 test_newterm(約第 3336 行)裡的 self.assertEqual(win.getmaxyx(), (24, 80)),它假設終端大小為 80x25。在不同大小的真實終端中執行 python -m test test_curses -v 進行重現,並與 CI 中的執行結果比較。完成的標準是:該測試不再依賴主機終端的尺寸,並且仍然檢查它本應檢查的內容。

由索引模型根據 Issue 內容生成。

描述

tests topic-curses type-bug
Bug report

The test seems to be written with the wrong assumption that curses will always evaluate the terminal size to 80x25, which fails when tests are run on a real terminal rather than GHA:

======================================================================
FAIL: test_newterm (test.test_curses.ScreenTests.test_newterm)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/tmp/portage/dev-lang/python-3.16.0_alpha1/work/Python-3.16.0a1/Lib/test/test_curses.py", line 3336, in test_newterm
    self.assertEqual(win.getmaxyx(), (24, 80))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Tuples differ: (24, 135) != (24, 80)

First differing element 1:
135
80

- (24, 135)
+ (24, 80)

----------------------------------------------------------------------
Ran 189 tests in 4.068s

FAILED (failures=1, skipped=4)
CPython versions tested on:

3.16

Operating systems tested on:

Linux

主要語言
Python
星號
77.6k
分支
38.4k
平均合併
1 天 1 小時
30 天內合併 PR
589

環境準備

在 Codespaces 中開啟

在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

python/cpython 的其他 Issue

查看 python/cpython 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。