blob: a24752430f6f25b3c1486ef70319f76f71a0d90e [file] [log] [blame]
Jiri Simsa1f97e1f2014-05-28 17:32:47 -07001package exec
2
3import (
4 "testing"
5)
6
7func TestEnv(t *testing.T) {
8 env := make([]string, 0)
Jiri Simsa70c32052014-06-18 11:38:21 -07009 env = Setenv(env, "NAME", "VALUE1")
Jiri Simsa1f97e1f2014-05-28 17:32:47 -070010 if expected, got := 1, len(env); expected != got {
11 t.Fatalf("Unexpected length of environment variable slice: expected %d, got %d", expected, got)
12 }
13 if expected, got := "NAME=VALUE1", env[0]; expected != got {
14 t.Fatalf("Unexpected element in the environment variable slice: expected %d, got %d", expected, got)
15 }
Jiri Simsa70c32052014-06-18 11:38:21 -070016 env = Setenv(env, "NAME", "VALUE2")
Jiri Simsa1f97e1f2014-05-28 17:32:47 -070017 if expected, got := 1, len(env); expected != got {
18 t.Fatalf("Unexpected length of environment variable slice: expected %d, got %d", expected, got)
19 }
20 if expected, got := "NAME=VALUE2", env[0]; expected != got {
21 t.Fatalf("Unexpected element in the environment variable slice: expected %d, got %d", expected, got)
22 }
Jiri Simsa70c32052014-06-18 11:38:21 -070023 value, err := Getenv(env, "NAME")
Jiri Simsa1f97e1f2014-05-28 17:32:47 -070024 if err != nil {
25 t.Fatalf("Unexpected error when looking up environment variable value: %v", err)
26 }
27 if expected, got := "VALUE2", value; expected != got {
28 t.Fatalf("Unexpected value of an environment variable: expected %d, got %d", expected, got)
29 }
Jiri Simsa70c32052014-06-18 11:38:21 -070030 value, err = Getenv(env, "NONAME")
Jiri Simsa1f97e1f2014-05-28 17:32:47 -070031 if err == nil {
32 t.Fatalf("Expected error when looking up environment variable value, got none", value)
33 }
34}