Fold the retake test into the prefix test (issue 1748 review 1)
mesh/delivery-group group fix/1748-retake-and-resolver ready: every member ready, and composed together they pass
mesh/delivery closed: the pull request closed unmerged
mesh/check pass 0d97c09c49b4 on 5a38a1221659 | unit 6409 run, 187 kept, 14 skipped | integration 6544 run, 220 kept, 23 skipped | over bound: unit, in…
mesh/delivery-group group fix/1748-retake-and-resolver ready: every member ready, and composed together they pass
mesh/delivery closed: the pull request closed unmerged
mesh/check pass 0d97c09c49b4 on 5a38a1221659 | unit 6409 run, 187 kept, 14 skipped | integration 6544 run, 220 kept, 23 skipped | over bound: unit, in…
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
@@ -86,11 +86,38 @@ func TestOnlyAPushFailureIsBuiltAgainBeforeTheFingerprintChanges(t *testing.T) {
|
||||
{VersionTaken + "@novox/mesh-sdk@0.1.15 holds another file", false},
|
||||
{RefusedKind + "a package in go", false},
|
||||
{"go test: 2 failed", true},
|
||||
{Retake + "lookup git.novox.be: i/o timeout", true},
|
||||
} {
|
||||
if got := FailedUntilChanged(c.err); got == c.again {
|
||||
t.Errorf("FailedUntilChanged(%q) = %v", c.err, got)
|
||||
}
|
||||
}
|
||||
// A retakeable error opens with Retake and is not one that waits for the fingerprint; the count is on the key's value (issue 1748).
|
||||
for _, c := range []struct {
|
||||
err string
|
||||
want bool
|
||||
}{
|
||||
{Retake + "lookup git.novox.be: i/o timeout", true},
|
||||
{NotPinned + "x", false},
|
||||
{Retake[:4] + " not the prefix", false},
|
||||
{"go test: 2 failed", false},
|
||||
{"", false},
|
||||
{VersionTaken + Retake, false},
|
||||
} {
|
||||
if got := Retakeable(c.err); got != c.want {
|
||||
t.Errorf("Retakeable(%q) = %v", c.err, got)
|
||||
}
|
||||
}
|
||||
data, err := EncodeBuilderBuild(BuilderBuild{State: BuildFailed, Error: Retake + "x", Retakes: 2})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if back, err := DecodeBuilderBuild(data); err != nil || back.Retakes != 2 {
|
||||
t.Fatalf("decoded %+v, %v", back, err)
|
||||
}
|
||||
if Retake != "retakeable: " || MaxRetakes != 3 {
|
||||
t.Fatal("the retake prefix or its bound changed")
|
||||
}
|
||||
if NotStored != "not stored: " || NotPinned != "not pinned: " || VersionTaken != "version taken: " || RefusedKind != "refused kind: " {
|
||||
t.Fatal("a prefix changed its words")
|
||||
}
|
||||
@@ -141,32 +168,3 @@ func TestWaitsForIsAPrefixThatIsBuiltAgain(t *testing.T) {
|
||||
t.Fatalf("WaitsFor = %q", WaitsFor)
|
||||
}
|
||||
}
|
||||
|
||||
// A retakeable error opens with Retake and is not one that waits for the fingerprint; the count is on the key's value (issue 1748).
|
||||
func TestRetakeableIsAPrefixTheBuilderTakesAgain(t *testing.T) {
|
||||
for _, c := range []struct {
|
||||
err string
|
||||
want bool
|
||||
}{
|
||||
{Retake + "lookup git.novox.be: i/o timeout", true},
|
||||
{NotPinned + "x", false},
|
||||
{Retake[:4] + " not the prefix", false},
|
||||
{"go test: 2 failed", false},
|
||||
{"", false},
|
||||
{VersionTaken + Retake, false},
|
||||
} {
|
||||
if got := Retakeable(c.err); got != c.want {
|
||||
t.Errorf("Retakeable(%q) = %v", c.err, got)
|
||||
}
|
||||
}
|
||||
if Retake != "retakeable: " || MaxRetakes != 3 {
|
||||
t.Fatal("the retake prefix or its bound changed")
|
||||
}
|
||||
data, err := EncodeBuilderBuild(BuilderBuild{State: BuildFailed, Error: Retake + "x", Retakes: 2})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if back, err := DecodeBuilderBuild(data); err != nil || back.Retakes != 2 {
|
||||
t.Fatalf("decoded %+v, %v", back, err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user