info_unix_test.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. // +build !windows
  2. package daemon // import "github.com/docker/docker/daemon"
  3. import (
  4. "testing"
  5. "gotest.tools/assert"
  6. is "gotest.tools/assert/cmp"
  7. )
  8. func TestParseInitVersion(t *testing.T) {
  9. tests := []struct {
  10. output string
  11. version string
  12. commit string
  13. invalid bool
  14. }{
  15. {
  16. output: "tini version 0.13.0 - git.949e6fa",
  17. version: "0.13.0",
  18. commit: "949e6fa",
  19. }, {
  20. output: "tini version 0.13.0\n",
  21. version: "0.13.0",
  22. }, {
  23. output: "tini version 0.13.2",
  24. version: "0.13.2",
  25. }, {
  26. output: "tini version0.13.2",
  27. invalid: true,
  28. }, {
  29. output: "",
  30. invalid: true,
  31. }, {
  32. output: "hello world",
  33. invalid: true,
  34. },
  35. }
  36. for _, test := range tests {
  37. version, commit, err := parseInitVersion(test.output)
  38. if test.invalid {
  39. assert.Check(t, is.ErrorContains(err, ""))
  40. } else {
  41. assert.Check(t, err)
  42. }
  43. assert.Equal(t, test.version, version)
  44. assert.Equal(t, test.commit, commit)
  45. }
  46. }
  47. func TestParseRuncVersion(t *testing.T) {
  48. tests := []struct {
  49. output string
  50. version string
  51. commit string
  52. invalid bool
  53. }{
  54. {
  55. output: `
  56. runc version 1.0.0-rc5+dev
  57. commit: 69663f0bd4b60df09991c08812a60108003fa340
  58. spec: 1.0.0
  59. `,
  60. version: "1.0.0-rc5+dev",
  61. commit: "69663f0bd4b60df09991c08812a60108003fa340",
  62. },
  63. {
  64. output: `
  65. runc version 1.0.0-rc5+dev
  66. spec: 1.0.0
  67. `,
  68. version: "1.0.0-rc5+dev",
  69. },
  70. {
  71. output: `
  72. commit: 69663f0bd4b60df09991c08812a60108003fa340
  73. spec: 1.0.0
  74. `,
  75. commit: "69663f0bd4b60df09991c08812a60108003fa340",
  76. },
  77. {
  78. output: "",
  79. invalid: true,
  80. },
  81. {
  82. output: "hello world",
  83. invalid: true,
  84. },
  85. }
  86. for _, test := range tests {
  87. version, commit, err := parseRuncVersion(test.output)
  88. if test.invalid {
  89. assert.Check(t, is.ErrorContains(err, ""))
  90. } else {
  91. assert.Check(t, err)
  92. }
  93. assert.Equal(t, test.version, version)
  94. assert.Equal(t, test.commit, commit)
  95. }
  96. }