go / src /math /big /internal /asmgen /main_test.go
AbdulElahGwaith's picture
Upload folder using huggingface_hub
e36aeda verified
// Copyright 2025 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package asmgen
import (
"bytes"
"flag"
"internal/diff"
"os"
"testing"
)
var generateFlag = flag.Bool("generate", false, "generate files")
func Test(t *testing.T) {
for _, arch := range arches {
t.Run(arch.Name, func(t *testing.T) {
file, data := generate(arch)
old, err := os.ReadFile("../../" + file)
if err == nil && bytes.Equal(old, data) {
return
}
if *generateFlag {
if err := os.WriteFile("../../"+file, data, 0o666); err != nil {
t.Fatal(err)
}
return
}
if err != nil {
t.Fatal(err)
}
t.Fatalf("generated assembly differs:\n%s\n", diff.Diff("../../"+file, old, "regenerated", data))
})
}
}