main_test.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package main
  2. import (
  3. "reflect"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func expect(t *testing.T, field string, a interface{}, b interface{}, err error) {
  8. if err != nil {
  9. t.Error(err)
  10. } else if !reflect.DeepEqual(a, b) {
  11. t.Errorf("%s expected: %s got %s", field, a, b)
  12. }
  13. }
  14. func TestInitAlpm(t *testing.T) {
  15. pacmanConf, err := initAlpm("testdata/pacman.conf")
  16. assert.Nil(t, err)
  17. assert.NotNil(t, pacmanConf)
  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. }