config_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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 = &Configuration{}
  15. config.PacmanConf = "./testdata/pacman.conf"
  16. err := initAlpm()
  17. if err != nil {
  18. t.Fatal(err)
  19. }
  20. h := alpmHandle
  21. root, err := h.Root()
  22. expect(t, "RootDir", "/", root, err)
  23. cache, err := h.CacheDirs()
  24. expect(t, "CacheDir", []string{"/cachedir/", "/another/"}, cache.Slice(), err)
  25. log, err := h.LogFile()
  26. expect(t, "LogFile", "/logfile", log, err)
  27. gpg, err := h.GPGDir()
  28. expect(t, "GPGDir", "/gpgdir/", gpg, err)
  29. hook, err := h.HookDirs()
  30. expect(t, "HookDir", []string{"/usr/share/libalpm/hooks/", "/hookdir/"}, hook.Slice(), err)
  31. arch, err := h.Arch()
  32. expect(t, "Architecture", "8086", arch, err)
  33. ignorePkg, err := h.IgnorePkgs()
  34. expect(t, "IgnorePkg", []string{"ignore", "this", "package"}, ignorePkg.Slice(), err)
  35. ignoreGroup, err := h.IgnoreGroups()
  36. expect(t, "IgnoreGroup", []string{"ignore", "this", "group"}, ignoreGroup.Slice(), err)
  37. noUp, err := h.NoUpgrades()
  38. expect(t, "NoUpgrade", []string{"noupgrade"}, noUp.Slice(), err)
  39. noEx, err := h.NoExtracts()
  40. expect(t, "NoExtract", []string{"noextract"}, noEx.Slice(), err)
  41. check, err := h.CheckSpace()
  42. expect(t, "CheckSpace", true, check, err)
  43. }