expect `Enable()` inTerm:'off' does not trigger failpoint code, but it's not as expect
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- go
- 領域
- testing-qa
調査の方向性
README の off アクションの定義から始め、変換後の Go コードで failpoint.Enable が return(true)->off、off、return(2) をどのように処理するかを追跡します。報告されたケースを使って go test -v -run TestGetValue を実行し、観測された出力が文書化されたセマンティクスと一致するかを比較します。3 つのケースが README に記載された動作を示せば完了です。
索引モデルが issue の本文から書いたものです。
説明
Bug Report
- CODE(Transfromed)
func GetValue() int {
if _, _err_ := failpoint.Eval(_curpkg_("failpoint-name")); _err_ == nil {
fmt.Println("enable failpoint")
}
return 1
}
- TEST CODE
func TestGetValue(t *testing.T) {
var err error
fmt.Println("############case01###############")
err = failpoint.Enable("test/failpoint-name", "return(true)->off")
if err != nil {
t.Fatal("enable failpoint failed:", err)
}
GetValue()
fmt.Println("############case02###############")
err = failpoint.Enable("test/failpoint-name", "off")
if err != nil {
t.Fatal("enable failpoint failed:", err)
}
GetValue()
fmt.Println("############case03###############")
err = failpoint.Enable("test/failpoint-name", "return(2)")
if err != nil {
t.Fatal("enable failpoint failed:", err)
}
GetValue()
}
- EXPECT:
According to README, "off: Take no action (does not trigger failpoint code)", used to stop triggering of the failpoint. So my expectation is that case02 and case03 should not print "enable failpoint". - ACTUAL:
It seems no working. I'm not sure if I'm misunderstanding this argument.
go test -v -run TestGetValue
=== RUN TestGetValue
############case01###############
enable failpoint
############case02###############
enable failpoint
############case03###############
enable failpoint
--- PASS: TestGetValue (0.00s)
- 主要言語
- Go
- スター
- 896
- フォーク
- 68
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pingcap/failpoint のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
-
question
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
pingcap/failpoint の issue をすべて見る
似ている issue
-
cvss-severity:high devguard l3montree-cybersecurity/devguard/devguard pkg:golang/github.com/l3montree-dev/devguard risk:low state:open
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
l3montree-dev/devguard#3146 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
CLI
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
databricks/cli#6910 ·
メンテナーはふだん 1 日以内に返信
-
Table presenter appends a spurious ", ..." to the FIX column when all fix versions are already shownオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
canonical/microceph#900 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
vulncheck or vulndb
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信