mirror of
https://github.com/mudler/luet.git
synced 2025-09-16 07:10:29 +00:00
Add solver tests from fixtures
Try to load with the recipe builder and solve simple installation queries. Also adapt tests to the more accuracy from simple parser
This commit is contained in:
@@ -26,8 +26,8 @@ import (
|
||||
type FakeParser struct {
|
||||
}
|
||||
|
||||
func (f *FakeParser) ScanEbuild(path string) ([]pkg.Package, error) {
|
||||
return []pkg.Package{&pkg.DefaultPackage{Name: "Fake"}}, nil
|
||||
func (f *FakeParser) ScanEbuild(path string, t pkg.Tree) ([]pkg.Package, error) {
|
||||
return []pkg.Package{&pkg.DefaultPackage{Name: path}}, nil
|
||||
}
|
||||
|
||||
var _ = Describe("GentooBuilder", func() {
|
||||
|
@@ -33,13 +33,13 @@ var _ = Describe("GentooBuilder", func() {
|
||||
Expect(tree.GetPackageSet().Clean()).ToNot(HaveOccurred())
|
||||
}()
|
||||
|
||||
Expect(len(tree.GetPackageSet().GetPackages())).To(Equal(10))
|
||||
Expect(len(tree.GetPackageSet().GetPackages())).To(Equal(11))
|
||||
|
||||
for _, pid := range tree.GetPackageSet().GetPackages() {
|
||||
p, err := tree.GetPackageSet().GetPackage(pid)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(p.GetName()).To(ContainSubstring("pinentry"))
|
||||
Expect(p.GetVersion()).To(ContainSubstring("1."))
|
||||
// Expect(p.GetVersion()).To(ContainSubstring("1."))
|
||||
}
|
||||
|
||||
})
|
||||
|
@@ -36,7 +36,7 @@ var _ = Describe("Recipe", func() {
|
||||
Expect(tree.GetPackageSet().Clean()).ToNot(HaveOccurred())
|
||||
}()
|
||||
|
||||
Expect(len(tree.GetPackageSet().GetPackages())).To(Equal(10))
|
||||
Expect(len(tree.GetPackageSet().GetPackages())).To(Equal(11))
|
||||
|
||||
generalRecipe := NewGeneralRecipe()
|
||||
generalRecipe.WithTree(tree)
|
||||
@@ -58,7 +58,7 @@ var _ = Describe("Recipe", func() {
|
||||
Expect(tree.GetPackageSet().Clean()).ToNot(HaveOccurred())
|
||||
}()
|
||||
|
||||
Expect(len(tree.GetPackageSet().GetPackages())).To(Equal(10))
|
||||
Expect(len(tree.GetPackageSet().GetPackages())).To(Equal(11))
|
||||
|
||||
generalRecipe := NewGeneralRecipe()
|
||||
generalRecipe.WithTree(tree)
|
||||
@@ -72,13 +72,12 @@ var _ = Describe("Recipe", func() {
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(generalRecipe.Tree()).ToNot(BeNil()) // It should be populated back at this point
|
||||
|
||||
Expect(len(generalRecipe.Tree().GetPackageSet().GetPackages())).To(Equal(10))
|
||||
Expect(len(generalRecipe.Tree().GetPackageSet().GetPackages())).To(Equal(11))
|
||||
|
||||
for _, pid := range tree.GetPackageSet().GetPackages() {
|
||||
p, err := tree.GetPackageSet().GetPackage(pid)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(p.GetName()).To(ContainSubstring("pinentry"))
|
||||
Expect(p.GetVersion()).To(ContainSubstring("1."))
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -96,9 +95,9 @@ var _ = Describe("Recipe", func() {
|
||||
Expect(tree.GetPackageSet().Clean()).ToNot(HaveOccurred())
|
||||
}()
|
||||
|
||||
Expect(len(tree.GetPackageSet().GetPackages())).To(Equal(10))
|
||||
Expect(len(tree.GetPackageSet().GetPackages())).To(Equal(11))
|
||||
|
||||
pack, err := tree.FindPackage(&pkg.DefaultPackage{Name: "pinentry", Version: "1.0.0-r2"})
|
||||
pack, err := tree.FindPackage(&pkg.DefaultPackage{Name: "pinentry", Version: "1.0.0-r2", Category: "app-crypt"}) // Note: the definition depends on pinentry-base without an explicit version
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
world, err := tree.World()
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
@@ -108,18 +107,13 @@ var _ = Describe("Recipe", func() {
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(len(solution)).To(Equal(3))
|
||||
|
||||
// for _, assertion := range solution {
|
||||
// fmt.Println(assertion.Package, assertion.Value)
|
||||
|
||||
// for _, req := range assertion.Package.GetRequires() {
|
||||
// fmt.Println("\t-> ", req)
|
||||
// }
|
||||
|
||||
// for _, con := range assertion.Package.GetConflicts() {
|
||||
// fmt.Println("\t!! ", con)
|
||||
// }
|
||||
// }
|
||||
|
||||
var allSol string
|
||||
for _, sol := range solution {
|
||||
allSol = allSol + "\n" + sol.ToString()
|
||||
}
|
||||
Expect(allSol).To(ContainSubstring("app-crypt/pinentry-base installed: true"))
|
||||
Expect(allSol).To(ContainSubstring("app-crypt/pinentry 1.1.0-r2 installed: false"))
|
||||
Expect(allSol).To(ContainSubstring("app-crypt/pinentry 1.0.0-r2 installed: true"))
|
||||
})
|
||||
})
|
||||
})
|
||||
|
Reference in New Issue
Block a user