...
Run Format

Source file src/go/build/syslist_test.go

Documentation: go/build

  // Copyright 2011 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 build
  
  import (
  	"runtime"
  	"testing"
  )
  
  var (
  	thisOS    = runtime.GOOS
  	thisArch  = runtime.GOARCH
  	otherOS   = anotherOS()
  	otherArch = anotherArch()
  )
  
  func anotherOS() string {
  	if thisOS != "darwin" {
  		return "darwin"
  	}
  	return "linux"
  }
  
  func anotherArch() string {
  	if thisArch != "amd64" {
  		return "amd64"
  	}
  	return "386"
  }
  
  type GoodFileTest struct {
  	name   string
  	result bool
  }
  
  var tests = []GoodFileTest{
  	{"file.go", true},
  	{"file.c", true},
  	{"file_foo.go", true},
  	{"file_" + thisArch + ".go", true},
  	{"file_" + otherArch + ".go", false},
  	{"file_" + thisOS + ".go", true},
  	{"file_" + otherOS + ".go", false},
  	{"file_" + thisOS + "_" + thisArch + ".go", true},
  	{"file_" + otherOS + "_" + thisArch + ".go", false},
  	{"file_" + thisOS + "_" + otherArch + ".go", false},
  	{"file_" + otherOS + "_" + otherArch + ".go", false},
  	{"file_foo_" + thisArch + ".go", true},
  	{"file_foo_" + otherArch + ".go", false},
  	{"file_" + thisOS + ".c", true},
  	{"file_" + otherOS + ".c", false},
  }
  
  func TestGoodOSArch(t *testing.T) {
  	for _, test := range tests {
  		if Default.goodOSArchFile(test.name, make(map[string]bool)) != test.result {
  			t.Fatalf("goodOSArchFile(%q) != %v", test.name, test.result)
  		}
  	}
  }
  

View as plain text