File: goenv_test.go

package info (click to toggle)
golang-golang-x-vuln 0.0~git20230201.4c848ed-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 992 kB
  • sloc: sh: 288; asm: 40; makefile: 7
file content (43 lines) | stat: -rw-r--r-- 1,058 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright 2022 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 internal

import (
	"testing"

	"golang.org/x/vuln/internal/testenv"
)

func TestGoEnv(t *testing.T) {
	testenv.NeedsGoEnv(t)

	for _, key := range []string{"GOVERSION", "GOROOT", "GOPATH", "GOMODCACHE"} {
		if val, err := GoEnv(key); val == "" {
			t.Errorf("want something for go env %s; got nothing", key)
		} else if err != nil {
			t.Errorf("unexpected error for go env %s: %v", key, err)
		}
	}
}

func TestGoEnvNonVariable(t *testing.T) {
	testenv.NeedsGoEnv(t)

	key := "NOT_A_GO_ENV_VARIABLE"
	if val, err := GoEnv(key); val != "" {
		t.Errorf("expected nothing for go env %s; got %s", key, val)
	} else if err != nil {
		t.Errorf("unexpected error for go env %s: %v", key, err)
	}
}

func TestGoEnvErr(t *testing.T) {
	testenv.NeedsGoEnv(t)

	key := "--not-a-flag"
	if val, err := GoEnv(key); err == nil {
		t.Errorf("wanted an error from go env %s; got value %q", key, val)
	}
}