aaparser_test.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package aaparser
  2. import (
  3. "testing"
  4. )
  5. type versionExpected struct {
  6. output string
  7. version int
  8. }
  9. func TestParseVersion(t *testing.T) {
  10. versions := []versionExpected{
  11. {
  12. output: `AppArmor parser version 2.10
  13. Copyright (C) 1999-2008 Novell Inc.
  14. Copyright 2009-2012 Canonical Ltd.
  15. `,
  16. version: 210000,
  17. },
  18. {
  19. output: `AppArmor parser version 2.8
  20. Copyright (C) 1999-2008 Novell Inc.
  21. Copyright 2009-2012 Canonical Ltd.
  22. `,
  23. version: 208000,
  24. },
  25. {
  26. output: `AppArmor parser version 2.20
  27. Copyright (C) 1999-2008 Novell Inc.
  28. Copyright 2009-2012 Canonical Ltd.
  29. `,
  30. version: 220000,
  31. },
  32. {
  33. output: `AppArmor parser version 2.05
  34. Copyright (C) 1999-2008 Novell Inc.
  35. Copyright 2009-2012 Canonical Ltd.
  36. `,
  37. version: 205000,
  38. },
  39. {
  40. output: `AppArmor parser version 2.9.95
  41. Copyright (C) 1999-2008 Novell Inc.
  42. Copyright 2009-2012 Canonical Ltd.
  43. `,
  44. version: 209095,
  45. },
  46. {
  47. output: `AppArmor parser version 3.14.159
  48. Copyright (C) 1999-2008 Novell Inc.
  49. Copyright 2009-2012 Canonical Ltd.
  50. `,
  51. version: 314159,
  52. },
  53. }
  54. for _, v := range versions {
  55. version, err := parseVersion(v.output)
  56. if err != nil {
  57. t.Fatalf("expected error to be nil for %#v, got: %v", v, err)
  58. }
  59. if version != v.version {
  60. t.Fatalf("expected version to be %d, was %d, for: %#v\n", v.version, version, v)
  61. }
  62. }
  63. }