|
@@ -23,7 +23,101 @@ func TestSetenv(t *testing.T) {
|
|
|
if val := job.Getenv("foo"); val != "bar" {
|
|
|
t.Fatalf("Getenv returns incorrect value: %s", val)
|
|
|
}
|
|
|
+
|
|
|
+ job.Setenv("bar", "")
|
|
|
+ if val := job.Getenv("bar"); val != "" {
|
|
|
+ t.Fatalf("Getenv returns incorrect value: %s", val)
|
|
|
+ }
|
|
|
if val := job.Getenv("nonexistent"); val != "" {
|
|
|
t.Fatalf("Getenv returns incorrect value: %s", val)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func TestSetenvBool(t *testing.T) {
|
|
|
+ job := mkJob(t, "dummy")
|
|
|
+ job.SetenvBool("foo", true)
|
|
|
+ if val := job.GetenvBool("foo"); !val {
|
|
|
+ t.Fatalf("GetenvBool returns incorrect value: %b", val)
|
|
|
+ }
|
|
|
+
|
|
|
+ job.SetenvBool("bar", false)
|
|
|
+ if val := job.GetenvBool("bar"); val {
|
|
|
+ t.Fatalf("GetenvBool returns incorrect value: %b", val)
|
|
|
+ }
|
|
|
+
|
|
|
+ if val := job.GetenvBool("nonexistent"); val {
|
|
|
+ t.Fatalf("GetenvBool returns incorrect value: %b", val)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestSetenvInt(t *testing.T) {
|
|
|
+ job := mkJob(t, "dummy")
|
|
|
+
|
|
|
+ job.SetenvInt("foo", -42)
|
|
|
+ if val := job.GetenvInt("foo"); val != -42 {
|
|
|
+ t.Fatalf("GetenvInt returns incorrect value: %d", val)
|
|
|
+ }
|
|
|
+
|
|
|
+ job.SetenvInt("bar", 42)
|
|
|
+ if val := job.GetenvInt("bar"); val != 42 {
|
|
|
+ t.Fatalf("GetenvInt returns incorrect value: %d", val)
|
|
|
+ }
|
|
|
+ if val := job.GetenvInt("nonexistent"); val != -1 {
|
|
|
+ t.Fatalf("GetenvInt returns incorrect value: %d", val)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestSetenvList(t *testing.T) {
|
|
|
+ job := mkJob(t, "dummy")
|
|
|
+
|
|
|
+ job.SetenvList("foo", []string{"bar"})
|
|
|
+ if val := job.GetenvList("foo"); len(val) != 1 || val[0] != "bar" {
|
|
|
+ t.Fatalf("GetenvList returns incorrect value: %v", val)
|
|
|
+ }
|
|
|
+
|
|
|
+ job.SetenvList("bar", nil)
|
|
|
+ if val := job.GetenvList("bar"); val != nil {
|
|
|
+ t.Fatalf("GetenvList returns incorrect value: %v", val)
|
|
|
+ }
|
|
|
+ if val := job.GetenvList("nonexistent"); val != nil {
|
|
|
+ t.Fatalf("GetenvList returns incorrect value: %v", val)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestImportEnv(t *testing.T) {
|
|
|
+ type dummy struct {
|
|
|
+ DummyInt int
|
|
|
+ DummyStringArray []string
|
|
|
+ }
|
|
|
+
|
|
|
+ job := mkJob(t, "dummy")
|
|
|
+ if err := job.ImportEnv(&dummy{42, []string{"foo", "bar"}}); err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ dmy := dummy{}
|
|
|
+ if err := job.ExportEnv(&dmy); err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if dmy.DummyInt != 42 {
|
|
|
+ t.Fatalf("Expected 42, got %d", dmy.DummyInt)
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(dmy.DummyStringArray) != 2 || dmy.DummyStringArray[0] != "foo" || dmy.DummyStringArray[1] != "bar" {
|
|
|
+ t.Fatalf("Expected {foo, bar}, got %v", dmy.DummyStringArray)
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func TestEnviron(t *testing.T) {
|
|
|
+ job := mkJob(t, "dummy")
|
|
|
+ job.Setenv("foo", "bar")
|
|
|
+ val, exists := job.Environ()["foo"]
|
|
|
+ if !exists {
|
|
|
+ t.Fatalf("foo not found in the environ")
|
|
|
+ }
|
|
|
+ if val != "bar" {
|
|
|
+ t.Fatalf("bar not found in the environ")
|
|
|
+ }
|
|
|
+}
|