aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql/convert_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/sql/convert_test.go')
-rw-r--r--src/database/sql/convert_test.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/database/sql/convert_test.go b/src/database/sql/convert_test.go
index 6d09fa1eae..f94db8e5f8 100644
--- a/src/database/sql/convert_test.go
+++ b/src/database/sql/convert_test.go
@@ -354,9 +354,10 @@ func TestRawBytesAllocs(t *testing.T) {
{"time", time.Unix(2, 5).UTC(), "1970-01-01T00:00:02.000000005Z"},
}
- buf := make(RawBytes, 10)
+ var buf RawBytes
+ rows := &Rows{}
test := func(name string, in any, want string) {
- if err := convertAssign(&buf, in); err != nil {
+ if err := convertAssignRows(&buf, in, rows); err != nil {
t.Fatalf("%s: convertAssign = %v", name, err)
}
match := len(buf) == len(want)
@@ -375,6 +376,7 @@ func TestRawBytesAllocs(t *testing.T) {
n := testing.AllocsPerRun(100, func() {
for _, tt := range tests {
+ rows.raw = rows.raw[:0]
test(tt.name, tt.in, tt.want)
}
})
@@ -383,7 +385,11 @@ func TestRawBytesAllocs(t *testing.T) {
// and gc. With 32-bit words there are more convT2E allocs, and
// with gccgo, only pointers currently go in interface data.
// So only care on amd64 gc for now.
- measureAllocs := runtime.GOARCH == "amd64" && runtime.Compiler == "gc"
+ measureAllocs := false
+ switch runtime.GOARCH {
+ case "amd64", "arm64":
+ measureAllocs = runtime.Compiler == "gc"
+ }
if n > 0.5 && measureAllocs {
t.Fatalf("allocs = %v; want 0", n)