alpm_test.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // alpm_test.go - Tests for alpm.go.
  2. //
  3. // Copyright (c) 2013 The go-alpm Authors
  4. //
  5. // MIT Licensed. See LICENSE for details.
  6. package alpm
  7. import (
  8. "fmt"
  9. "os"
  10. "testing"
  11. )
  12. const (
  13. root = "/"
  14. dbpath = "/var/lib/pacman"
  15. )
  16. var h *Handle
  17. func init() {
  18. var err error
  19. h, err = Init("/", "/var/lib/pacman")
  20. if err != nil {
  21. fmt.Printf("failed to Init(): %s", err)
  22. os.Exit(1)
  23. }
  24. }
  25. func ExampleVersion() {
  26. fmt.Println(Version())
  27. // output:
  28. // 8.0.2
  29. }
  30. func ExampleVerCmp() {
  31. fmt.Println(VerCmp("1.0-2", "2.0-1") < 0)
  32. fmt.Println(VerCmp("1:1.0-2", "2.0-1") > 0)
  33. fmt.Println(VerCmp("2.0.2-2", "2.0.2-2") == 0)
  34. // output:
  35. // true
  36. // true
  37. // true
  38. }
  39. func TestRevdeps(t *testing.T) {
  40. db, _ := h.LocalDb()
  41. pkg, _ := db.PkgByName("glibc")
  42. for i, pkgname := range pkg.ComputeRequiredBy() {
  43. t.Logf(pkgname)
  44. if i == 10 {
  45. t.Logf("and %d more...", len(pkg.ComputeRequiredBy())-10)
  46. return
  47. }
  48. }
  49. }
  50. func TestLocalDB(t *testing.T) {
  51. defer func() {
  52. if recover() != nil {
  53. t.Errorf("local db failed")
  54. }
  55. }()
  56. db, _ := h.LocalDb()
  57. number := 0
  58. for _, pkg := range db.PkgCache().Slice() {
  59. number++
  60. if number <= 15 {
  61. t.Logf("%v", pkg.Name())
  62. }
  63. }
  64. if number > 15 {
  65. t.Logf("%d more packages...", number-15)
  66. }
  67. }
  68. func TestRelease(t *testing.T) {
  69. if err := h.Release(); err != nil {
  70. t.Error(err)
  71. }
  72. }