Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Start test servers on a port no other program can take

オープン
#109 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
66/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
go
領域
testing

調査の方向性

Start by reading FreeAddr and WaitForListening, then find the tests that start a server and poll its address. Check how the listening line is captured and how a bind failure is reported; the proposal is complete when tests can start servers on port 0, use the address from that line, and fail the wait if binding fails.

索引モデルが issue の本文から書いたものです。

説明

bug help wanted

A test should never fail because another program took its port.

Current state: FreeAddr opens a listener on port 0, closes it and returns the address. Another program can take it before the server binds. The server then fails to bind, and a test that polls the address talks to that program instead. In a check, the next 40 port 0 binds took 29 of 5000 freed ports.

Proposal: Make WaitForListening return the address the listening line names. Tests then start their server on port 0 and read its log through a pipe. A server that cannot bind then fails the wait, not a later request. FreeAddr stays for an address nothing answers at.

Trigger: A downstream application's CI failed once this way, then passed on a rerun.

主要言語
Go
スター
69
フォーク
3
平均マージ
9時間 11分
マージ済み PR(30日)
38

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

gopherium/framework のほかの issue

gopherium/framework の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。