python / python/cpython

IDLE: Move unittests to test directory

Đang mở
#95,069 3 bình luận 0 reaction 1 người được giao Xem trên GitHub

@terryjreedy đang làm issue này rồi.

Từ ngày 20/7/2022.

tests topic-IDLE type-feature
Ngôn ngữ chính
Python
Star
77.2k
Fork
36k
Merge trung bình
1 ngày 9 giờ
Pull request đã merge (30 ngày)
558

Mô tả

In particular, move unittest-related files in idlelib.idle_test to a new test/test_idle directory and split test/test_idle.py into test_idle/__init__.py and test_idle/__main__.py. This is a followup to #54781 and similar issues before and after. Note that I want idle_test and any non-unittest files (at least htest.py and part of README.txt) left as they are.

Other core developers want this for consistency, as best explained by Victor Stinner in https://github.com/python/cpython/issues/93839#issue-1271983348. None of those benefits apply to me, and there are costs to the change that could or would make IDLE development harder, perhaps significantly so.

The costs come from some of idlelib's special features as a package: a) it comprises about 60 modules, far more than any other stdlib package; b) the test suite is underdeveloped relative to at least some other packages, so there are (or should be) relatively more future test changes to be impacted; c) PEP 434 allows name changes and backports not allowed elsewhere in the stdlib, so there are many more of these.

  1. Search and replacement: a multifile recursive search currently displays all hits in idlelib and idlelib.idle_test with one command and puts all hits in one window. When editing any idlelib file, Alt-F3 opens IDLE's grep with idlelib as the default search directory. Having to give the command twice and having the results in two windows would be a pain. (IDLE's grep could special case recursive searches in idlelib to include test.test_idle.)

  2. Existing PRs: I would guess that there are at least 20 current PRs that modify IDLE tests. Will they all break or will old paths be automatically mapped to new paths. If they will break, I would want an automated fix (for just main) or else dispose of most of them before moving the tests.

  3. Backports: currently, code backports, which are nearly always done, are accompanied by any corresponding test changes. Victor claims in #94145 that git will always (my emphasis) map new paths in a PR to the old paths. (This would require that it keep a reverse dictionary of path changes.) I would like to see this work before I believe this.

Linked PRs
  • gh-115444

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.