config_test.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package main
  2. import (
  3. "reflect"
  4. "testing"
  5. )
  6. func expect(t *testing.T, field string, a interface{}, b interface{}, err error) {
  7. if err != nil {
  8. t.Error(err)
  9. } else if !reflect.DeepEqual(a, b) {
  10. t.Errorf("%s expected: %s got %s", field, a, b)
  11. }
  12. }
  13. func TestConfig(t *testing.T) {
  14. config.PacmanConf = "testdata/pacman.conf"
  15. err := initAlpm()
  16. if err != nil {
  17. t.Fatal(err)
  18. }
  19. h := alpmHandle
  20. root, err := h.Root()
  21. expect(t, "RootDir", "/", root, err)
  22. cache, err := h.CacheDirs()
  23. expect(t, "CacheDir", []string{"/cachedir/", "/another/"}, cache.Slice(), err)
  24. log, err := h.LogFile()
  25. expect(t, "LogFile", "/logfile", log, err)
  26. gpg, err := h.GPGDir()
  27. expect(t, "GPGDir", "/gpgdir/", gpg, err)
  28. hook, err := h.HookDirs()
  29. expect(t, "HookDir", []string{"/usr/share/libalpm/hooks/", "/hookdir/"}, hook.Slice(), err)
  30. delta, err := h.DeltaRatio()
  31. expect(t, "UseDelta", 0.5, delta, err)
  32. arch, err := h.Arch()
  33. expect(t, "Architecture", "8086", arch, err)
  34. ignorePkg, err := h.IgnorePkgs()
  35. expect(t, "IgnorePkg", []string{"ignore", "this", "package"}, ignorePkg.Slice(), err)
  36. ignoreGroup, err := h.IgnoreGroups()
  37. expect(t, "IgnoreGroup", []string{"ignore", "this", "group"}, ignoreGroup.Slice(), err)
  38. noUp, err := h.NoUpgrades()
  39. expect(t, "NoUpgrade", []string{"noupgrade"}, noUp.Slice(), err)
  40. noEx, err := h.NoExtracts()
  41. expect(t, "NoExtract", []string{"noextract"}, noEx.Slice(), err)
  42. check, err := h.CheckSpace()
  43. expect(t, "CheckSpace", true, check, err)
  44. }