Source file src/runtime/_mkmalloc/mkmalloc_test.go

     1  // Copyright 2025 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package main
     6  
     7  import (
     8  	"bytes"
     9  	"os"
    10  	"testing"
    11  )
    12  
    13  func TestNoChange(t *testing.T) {
    14  	classes := makeClasses()
    15  	sizeToSizeClass := makeSizeToSizeClass(classes)
    16  
    17  	outfile := "../malloc_generated.go"
    18  	want, err := os.ReadFile(outfile)
    19  	if err != nil {
    20  		t.Fatal(err)
    21  	}
    22  	got := mustFormat(inline(specializedMallocConfig(classes, sizeToSizeClass)))
    23  	if !bytes.Equal(want, got) {
    24  		t.Fatalf("want:\n%s\ngot:\n%s\n", withLineNumbers(want), withLineNumbers(got))
    25  	}
    26  
    27  	tablefile := "../malloc_tables_generated.go"
    28  	wanttable, err := os.ReadFile(tablefile)
    29  	if err != nil {
    30  		t.Fatal(err)
    31  	}
    32  	gotTable := mustFormat(generateTable(sizeToSizeClass))
    33  	if !bytes.Equal(wanttable, gotTable) {
    34  		t.Fatalf("want:\n%s\ngot:\n%s\n", withLineNumbers(wanttable), withLineNumbers(gotTable))
    35  	}
    36  }
    37  

View as plain text