regrtest: Only report a leak if all test runs leak at least one file descriptor
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 77.2k
- フォーク
- 35.9k
- PR マージ指標
- PR 指標を取得中
説明
Example on a recent buildbot run on AMD64 CentOS9 NoGIL Refleaks 3.x: https://buildbot.python.org/#/builders/1610/builds/4004
test_free_threading leaked [0, 1, 0] references, sum=1 (this is fine)
test_free_threading leaked [0, 1, -1] file descriptors, sum=0
For references, regrtest considers that a test leaks only if all test runs leak at least 1 reference.
For file descriptors, regrtest considers that a test leaks if at least one test run leaks a file descriptor.
In this example, leaked [0, 1, -1] file descriptors, sum=0 says that a test run creates a file descriptor without closing it (first run test, after the warmup): delta +1, but the following test run closes the file descriptor: delta -1. The sum=0 says that there is no leak at the end, all created file descriptors have been closed.
I propose to change the leak detection to only consider that there is a leak if all test runs leak at least one file descriptors.
Linked PRs
- gh-157629
- gh-157753
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、regrtest のファイルディスクリプタリーク検出を見つけ、すでに進行中の作業についてリンクされている PR gh-157629 と gh-157753 を確認してください。再現ケースとして buildbot の例を使用します。完了の条件は、すべてのテスト実行で少なくとも 1 つのファイルディスクリプタがリークした場合にのみリークが報告されることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- testing-qa
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100