Commit 072a2633 authored by Rob Pike's avatar Rob Pike

os: rewrite LookupEnv's test

GOROOT is not dependably set.

When I first wrote this test, I thought it was a waste of time
because the function can't fail if the other environment functions
work, but I didn't want to add functionality without testing it.
Of course, the test broke, and I learned something: GOROOT is not
set on iOS or, to put it more broadly, the world continues to
surprise me with its complexity and horror, such as a version of
cat with syntax coloring.

In that vein, I built this test around smallpox.

Change-Id: Ifa6c218a927399d05c47954fdcaea1015e558fb6
Reviewed-on: https://go-review.googlesource.com/9791Reviewed-by: default avatarRuss Cox <rsc@golang.org>
parent f09a660e
...@@ -96,13 +96,17 @@ func TestUnsetenv(t *testing.T) { ...@@ -96,13 +96,17 @@ func TestUnsetenv(t *testing.T) {
} }
func TestLookupEnv(t *testing.T) { func TestLookupEnv(t *testing.T) {
value, ok := LookupEnv("GOROOT") // Should be set. const smallpox = "SMALLPOX" // No one has smallpox.
if !ok { value, ok := LookupEnv(smallpox) // Should not exist.
t.Errorf("GOROOT is not set")
}
const v = "Variable That Does Not Exist"
value, ok = LookupEnv(v) // Should not be set.
if ok || value != "" { if ok || value != "" {
t.Errorf("%s is set: %q", v, value) t.Fatalf("%s=%q", smallpox, value)
}
err := Setenv(smallpox, "virus")
if err != nil {
t.Fatalf("failed to release smallpox virus")
}
value, ok = LookupEnv(smallpox)
if !ok {
t.Errorf("smallpox release failed; world remains safe but LookupEnv is broken")
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment