diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-04-17 18:56:43 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-04-17 19:33:21 +0900 |
| commit | 3942272c3039b16e4731855641887f2442a2dc79 (patch) | |
| tree | fed36b66fab2bd3883cecb14a1851bad81e0ce4e /internal/pkg/net_test.go | |
| parent | 90369861568d38737001f1d7e1304e6914675359 (diff) | |
internal/pkg: fine-grained cancellation
This enables a specific artifact to be targeted for cancellation.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/pkg/net_test.go')
| -rw-r--r-- | internal/pkg/net_test.go | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/internal/pkg/net_test.go b/internal/pkg/net_test.go index f525efbd..23c39356 100644 --- a/internal/pkg/net_test.go +++ b/internal/pkg/net_test.go @@ -8,7 +8,6 @@ import ( "testing" "testing/fstest" "unique" - "unsafe" "hakurei.app/check" "hakurei.app/internal/pkg" @@ -33,20 +32,14 @@ func TestHTTPGet(t *testing.T) { checkWithCache(t, []cacheTestCase{ {"direct", pkg.CValidateKnown, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) { - var r pkg.RContext - rCacheVal := reflect.ValueOf(&r).Elem().FieldByName("cache") - reflect.NewAt( - rCacheVal.Type(), - unsafe.Pointer(rCacheVal.UnsafeAddr()), - ).Elem().Set(reflect.ValueOf(c)) - + r := newRContext(t, c) f := pkg.NewHTTPGet( &client, "file:///testdata", testdataChecksum.Value(), ) var got []byte - if rc, err := f.Cure(&r); err != nil { + if rc, err := f.Cure(r); err != nil { t.Fatalf("Cure: error = %v", err) } else if got, err = io.ReadAll(rc); err != nil { t.Fatalf("ReadAll: error = %v", err) @@ -65,7 +58,7 @@ func TestHTTPGet(t *testing.T) { wantErrMismatch := &pkg.ChecksumMismatchError{ Got: testdataChecksum.Value(), } - if rc, err := f.Cure(&r); err != nil { + if rc, err := f.Cure(r); err != nil { t.Fatalf("Cure: error = %v", err) } else if got, err = io.ReadAll(rc); err != nil { t.Fatalf("ReadAll: error = %v", err) @@ -76,7 +69,7 @@ func TestHTTPGet(t *testing.T) { } // check fallback validation - if rc, err := f.Cure(&r); err != nil { + if rc, err := f.Cure(r); err != nil { t.Fatalf("Cure: error = %v", err) } else if err = rc.Close(); !reflect.DeepEqual(err, wantErrMismatch) { t.Fatalf("Close: error = %#v, want %#v", err, wantErrMismatch) @@ -89,18 +82,13 @@ func TestHTTPGet(t *testing.T) { pkg.Checksum{}, ) wantErrNotFound := pkg.ResponseStatusError(http.StatusNotFound) - if _, err := f.Cure(&r); !reflect.DeepEqual(err, wantErrNotFound) { + if _, err := f.Cure(r); !reflect.DeepEqual(err, wantErrNotFound) { t.Fatalf("Cure: error = %#v, want %#v", err, wantErrNotFound) } }, pkg.MustDecode("E4vEZKhCcL2gPZ2Tt59FS3lDng-d_2SKa2i5G_RbDfwGn6EemptFaGLPUDiOa94C")}, {"cure", pkg.CValidateKnown, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) { - var r pkg.RContext - rCacheVal := reflect.ValueOf(&r).Elem().FieldByName("cache") - reflect.NewAt( - rCacheVal.Type(), - unsafe.Pointer(rCacheVal.UnsafeAddr()), - ).Elem().Set(reflect.ValueOf(c)) + r := newRContext(t, c) f := pkg.NewHTTPGet( &client, @@ -120,7 +108,7 @@ func TestHTTPGet(t *testing.T) { } var got []byte - if rc, err := f.Cure(&r); err != nil { + if rc, err := f.Cure(r); err != nil { t.Fatalf("Cure: error = %v", err) } else if got, err = io.ReadAll(rc); err != nil { t.Fatalf("ReadAll: error = %v", err) @@ -136,7 +124,7 @@ func TestHTTPGet(t *testing.T) { "file:///testdata", testdataChecksum.Value(), ) - if rc, err := f.Cure(&r); err != nil { + if rc, err := f.Cure(r); err != nil { t.Fatalf("Cure: error = %v", err) } else if got, err = io.ReadAll(rc); err != nil { t.Fatalf("ReadAll: error = %v", err) |
