pacman_test.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //go:build !integration
  2. // +build !integration
  3. package runtime
  4. import (
  5. "path/filepath"
  6. "testing"
  7. "github.com/Morganamilo/go-pacmanconf"
  8. "github.com/stretchr/testify/assert"
  9. "github.com/stretchr/testify/require"
  10. "github.com/Jguer/yay/v12/pkg/settings/parser"
  11. )
  12. func TestPacmanConf(t *testing.T) {
  13. t.Parallel()
  14. path := "../../testdata/pacman.conf"
  15. absPath, err := filepath.Abs(path)
  16. require.NoError(t, err)
  17. expectedPacmanConf := &pacmanconf.Config{
  18. RootDir: "/", DBPath: "/var/lib/pacman/",
  19. CacheDir: []string{"/var/cache/pacman/pkg/"},
  20. HookDir: []string{"/etc/pacman.d/hooks/"},
  21. GPGDir: "/etc/pacman.d/gnupg/", LogFile: "/var/log/pacman.log",
  22. HoldPkg: []string{"pacman", "glibc"}, IgnorePkg: []string{"xorm"},
  23. IgnoreGroup: []string{"yorm"}, Architecture: []string{"x86_64"},
  24. XferCommand: "/usr/bin/wget --passive-ftp -c -O %o %u",
  25. NoUpgrade: []string(nil), NoExtract: []string(nil), CleanMethod: []string{"KeepInstalled"},
  26. SigLevel: []string{"PackageRequired", "PackageTrustedOnly", "DatabaseOptional", "DatabaseTrustedOnly"},
  27. LocalFileSigLevel: []string{"PackageOptional", "PackageTrustedOnly"},
  28. RemoteFileSigLevel: []string{"PackageRequired", "PackageTrustedOnly"}, UseSyslog: true,
  29. Color: true, UseDelta: 0, TotalDownload: false, CheckSpace: true,
  30. VerbosePkgLists: true, DisableDownloadTimeout: false,
  31. Repos: []pacmanconf.Repository{
  32. {
  33. Name: "core", Servers: []string{"Core"},
  34. SigLevel: []string(nil), Usage: []string{"All"},
  35. },
  36. {
  37. Name: "extra", Servers: []string{"Extra"}, SigLevel: []string(nil),
  38. Usage: []string{"All"},
  39. },
  40. {
  41. Name: "multilib", Servers: []string{"repo3", "multilib"},
  42. SigLevel: []string(nil), Usage: []string{"All"},
  43. },
  44. },
  45. }
  46. pacmanConf, color, err := retrievePacmanConfig(parser.MakeArguments(), absPath)
  47. assert.Nil(t, err)
  48. assert.NotNil(t, pacmanConf)
  49. assert.Equal(t, color, false)
  50. assert.EqualValues(t, expectedPacmanConf, pacmanConf)
  51. }