env_test.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package engine
  2. import (
  3. "testing"
  4. )
  5. func TestNewJob(t *testing.T) {
  6. job := mkJob(t, "dummy", "--level=awesome")
  7. if job.Name != "dummy" {
  8. t.Fatalf("Wrong job name: %s", job.Name)
  9. }
  10. if len(job.Args) != 1 {
  11. t.Fatalf("Wrong number of job arguments: %d", len(job.Args))
  12. }
  13. if job.Args[0] != "--level=awesome" {
  14. t.Fatalf("Wrong job arguments: %s", job.Args[0])
  15. }
  16. }
  17. func TestSetenv(t *testing.T) {
  18. job := mkJob(t, "dummy")
  19. job.Setenv("foo", "bar")
  20. if val := job.Getenv("foo"); val != "bar" {
  21. t.Fatalf("Getenv returns incorrect value: %s", val)
  22. }
  23. job.Setenv("bar", "")
  24. if val := job.Getenv("bar"); val != "" {
  25. t.Fatalf("Getenv returns incorrect value: %s", val)
  26. }
  27. if val := job.Getenv("nonexistent"); val != "" {
  28. t.Fatalf("Getenv returns incorrect value: %s", val)
  29. }
  30. }
  31. func TestSetenvBool(t *testing.T) {
  32. job := mkJob(t, "dummy")
  33. job.SetenvBool("foo", true)
  34. if val := job.GetenvBool("foo"); !val {
  35. t.Fatalf("GetenvBool returns incorrect value: %t", val)
  36. }
  37. job.SetenvBool("bar", false)
  38. if val := job.GetenvBool("bar"); val {
  39. t.Fatalf("GetenvBool returns incorrect value: %t", val)
  40. }
  41. if val := job.GetenvBool("nonexistent"); val {
  42. t.Fatalf("GetenvBool returns incorrect value: %t", val)
  43. }
  44. }
  45. func TestSetenvInt(t *testing.T) {
  46. job := mkJob(t, "dummy")
  47. job.SetenvInt("foo", -42)
  48. if val := job.GetenvInt("foo"); val != -42 {
  49. t.Fatalf("GetenvInt returns incorrect value: %d", val)
  50. }
  51. job.SetenvInt("bar", 42)
  52. if val := job.GetenvInt("bar"); val != 42 {
  53. t.Fatalf("GetenvInt returns incorrect value: %d", val)
  54. }
  55. if val := job.GetenvInt("nonexistent"); val != 0 {
  56. t.Fatalf("GetenvInt returns incorrect value: %d", val)
  57. }
  58. }
  59. func TestSetenvList(t *testing.T) {
  60. job := mkJob(t, "dummy")
  61. job.SetenvList("foo", []string{"bar"})
  62. if val := job.GetenvList("foo"); len(val) != 1 || val[0] != "bar" {
  63. t.Fatalf("GetenvList returns incorrect value: %v", val)
  64. }
  65. job.SetenvList("bar", nil)
  66. if val := job.GetenvList("bar"); val != nil {
  67. t.Fatalf("GetenvList returns incorrect value: %v", val)
  68. }
  69. if val := job.GetenvList("nonexistent"); val != nil {
  70. t.Fatalf("GetenvList returns incorrect value: %v", val)
  71. }
  72. }
  73. func TestEnviron(t *testing.T) {
  74. job := mkJob(t, "dummy")
  75. job.Setenv("foo", "bar")
  76. val, exists := job.Environ()["foo"]
  77. if !exists {
  78. t.Fatalf("foo not found in the environ")
  79. }
  80. if val != "bar" {
  81. t.Fatalf("bar not found in the environ")
  82. }
  83. }