|
@@ -0,0 +1,98 @@
|
|
|
+package aur
|
|
|
+
|
|
|
+import (
|
|
|
+ "os"
|
|
|
+ "reflect"
|
|
|
+ "testing"
|
|
|
+
|
|
|
+ "github.com/demizer/go-alpm"
|
|
|
+)
|
|
|
+
|
|
|
+func TestSearch(t *testing.T) {
|
|
|
+ eN := "yay"
|
|
|
+ eD := "Yet another pacman wrapper with AUR support"
|
|
|
+ result, _, err := Search("yay", true)
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("Expected err to be nil but it was %s", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ // t.Logf("Got struct: %+v", result)
|
|
|
+ found := false
|
|
|
+ for _, v := range result {
|
|
|
+ if v.Name == eN && v.Description == eD {
|
|
|
+ found = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if !found {
|
|
|
+ t.Fatalf("Expected to find yay, found %+v", result)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func benchmarkSearch(search string, sort bool, b *testing.B) {
|
|
|
+ for n := 0; n < b.N; n++ {
|
|
|
+ Search(search, sort)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func BenchmarkSearchSimpleNoSort(b *testing.B) { benchmarkSearch("yay", false, b) }
|
|
|
+func BenchmarkSearchComplexNoSort(b *testing.B) { benchmarkSearch("linux", false, b) }
|
|
|
+func BenchmarkSearchSimpleSorted(b *testing.B) { benchmarkSearch("yay", true, b) }
|
|
|
+func BenchmarkSearchComplexSorted(b *testing.B) { benchmarkSearch("linux", true, b) }
|
|
|
+
|
|
|
+func TestInfo(t *testing.T) {
|
|
|
+ eN := "yay"
|
|
|
+ eD := "Yet another pacman wrapper with AUR support"
|
|
|
+ eM := []string{"go", "git"}
|
|
|
+ result, _, err := Info("yay")
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("Expected err to be nil but it was %s", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ // t.Logf("Got struct: %+v", result)
|
|
|
+ found := false
|
|
|
+ for _, v := range result {
|
|
|
+ if v.Name == eN && v.Description == eD && reflect.DeepEqual(v.MakeDepends, eM) {
|
|
|
+ found = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if !found {
|
|
|
+ t.Fatalf("Expected to find yay, found %+v", result)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestUpdate(t *testing.T) {
|
|
|
+ var conf alpm.PacmanConfig
|
|
|
+ file, err := os.Open("/etc/pacman.conf")
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ conf, err = alpm.ParseConfig(file)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ err = UpdatePackages("/tmp/yaytmp", &conf, []string{})
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("Expected err to be nil but it was %s", err)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestUpgrade(t *testing.T) {
|
|
|
+ var conf alpm.PacmanConfig
|
|
|
+ file, err := os.Open("/etc/pacman.conf")
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ conf, err = alpm.ParseConfig(file)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ err = UpdatePackages("/tmp/yaytmp", &conf, []string{})
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("Expected err to be nil but it was %s", err)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|