golang.org/x/tools@v0.21.0/go/analysis/passes/asmdecl/asmdecl_test.go (about)

     1  // Copyright 2018 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 asmdecl_test
     6  
     7  import (
     8  	"os"
     9  	"strings"
    10  	"testing"
    11  
    12  	"golang.org/x/tools/go/analysis/analysistest"
    13  	"golang.org/x/tools/go/analysis/passes/asmdecl"
    14  )
    15  
    16  var goosarches = []string{
    17  	"linux/amd64", // asm1.s, asm4.s
    18  	"linux/386",   // asm2.s
    19  	"linux/arm",   // asm3.s
    20  	// TODO: skip test on loong64 until go toolchain supported loong64.
    21  	// "linux/loong64", // asm10.s
    22  	"linux/mips64",  // asm5.s
    23  	"linux/s390x",   // asm6.s
    24  	"linux/ppc64",   // asm7.s
    25  	"linux/mips",    // asm8.s,
    26  	"js/wasm",       // asm9.s
    27  	"linux/riscv64", // asm11.s
    28  }
    29  
    30  func Test(t *testing.T) {
    31  	testdata := analysistest.TestData()
    32  	for _, goosarch := range goosarches {
    33  		t.Run(goosarch, func(t *testing.T) {
    34  			i := strings.Index(goosarch, "/")
    35  			os.Setenv("GOOS", goosarch[:i])
    36  			os.Setenv("GOARCH", goosarch[i+1:])
    37  			analysistest.Run(t, testdata, asmdecl.Analyzer, "a")
    38  		})
    39  	}
    40  }