main_test.go 1.4 KB

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