fmt.Fprint(&buf, "#### System details\n\n")
fmt.Fprintln(&buf, "```")
fmt.Fprintf(&buf, "go version %s %s/%s\n", runtime.Version(), runtime.GOOS, runtime.GOARCH)
- env := mkEnv()
+ env := newEnv
env = append(env, extraEnvVars()...)
for _, e := range env {
fmt.Fprintf(&buf, "%s=\"%s\"\n", e.name, e.value)
}
func runEnv(cmd *Command, args []string) {
- env := mkEnv()
+ env := newEnv
env = append(env, extraEnvVars()...)
if len(args) > 0 {
for _, name := range args {
tg.setenv("CGO_CFLAGS", "-foobar")
tg.run("env", "CGO_CFLAGS")
tg.grepStdout("^-foobar$", "CGO_CFLAGS not honored")
+
+ tg.setenv("CC", "gcc -fmust -fgo -ffaster")
+ tg.run("env", "CC")
+ tg.grepStdout("gcc", "CC not found")
+ tg.run("env", "GOGCCFLAGS")
+ tg.grepStdout("-ffaster", "CC arguments not found")
}
const (
}
var origEnv []string
+var newEnv []envVar
func main() {
_ = go11tag
// but in practice there might be skew
// This makes sure we all agree.
origEnv = os.Environ()
- for _, env := range mkEnv() {
+ newEnv = mkEnv()
+ for _, env := range newEnv {
if os.Getenv(env.name) != env.value {
os.Setenv(env.name, env.value)
}