Compare commits

..

No commits in common. "bb620b3d9b5d28363d932db438a6c36369f3bdc5" and "1ecaeb97e32fd71505e1398b9d58ac13dcf51470" have entirely different histories.

2 changed files with 9 additions and 89 deletions

View File

@ -10,26 +10,6 @@ import (
func main() { func main() {
m := testMachine() m := testMachine()
testPackages(m) testPackages(m)
loop := m.Packages.SortByName()
for loop.Scan() {
p := loop.Package()
log.Info("installed package:", p.Name, p.Version, p.PkgName)
}
if m.IsInstalled("bash") {
log.Info("bash installed check worked")
} else {
log.Info("bash installed check failed")
panic("bash")
}
if m.IsInstalled("foo") {
log.Info("foo not-installed check failed")
panic("foo")
} else {
log.Info("foo not-installed check worked")
}
} }
func testMachine() *zoopb.Machine { func testMachine() *zoopb.Machine {
@ -40,13 +20,14 @@ func testMachine() *zoopb.Machine {
} }
func testPackages(m *zoopb.Machine) { func testPackages(m *zoopb.Machine) {
m.Packages = new(zoopb.Packages) var all *zoopb.Packages
all = new(zoopb.Packages)
// r = zoopb.LoadJSON("go.wit.com/lib/protobuf/zoopb") // r = zoopb.LoadJSON("go.wit.com/lib/protobuf/zoopb")
new1 := new(zoopb.Package) new1 := new(zoopb.Package)
new1.Name = "bash" new1.Name = "bash"
new1.Version = "5.2.21" new1.Version = "5.2.21"
if m.Packages.Append(new1) { if all.Append(new1) {
log.Info("added", new1.Name, "ok") log.Info("added", new1.Name, "ok")
} else { } else {
log.Info("added", new1.Name, "failed") log.Info("added", new1.Name, "failed")
@ -55,17 +36,17 @@ func testPackages(m *zoopb.Machine) {
new2 := new(zoopb.Package) new2 := new(zoopb.Package)
new2.Name = "go-clone" new2.Name = "go-clone"
new2.Version = "0.6.8" // good version of the macos new2.Version = "0.6.8" // good version of the macos
if m.Packages.Append(new2) { if all.Append(new2) {
log.Info("added", new2.Name, "ok") log.Info("added", new2.Name, "ok")
} else { } else {
log.Info("added", new2.Name, "failed") log.Info("added", new2.Name, "failed")
} }
if m.Packages.Append(new2) { if all.Append(new2) {
log.Info("added", new2.Name, "ok (this is bad)") log.Info("added", new2.Name, "ok (this is bad)")
} else { } else {
log.Info("added", new2.Name, "failed (but ok)") log.Info("added", new2.Name, "failed (but ok)")
} }
fmt.Println("package count = ", m.Packages.Len()) fmt.Println("packages are:", len(all.Packages))
} }

61
wit.go
View File

@ -11,70 +11,9 @@ var VERSION string
var BUILDTIME string var BUILDTIME string
func (m *Machine) IsInstalled(name string) bool { func (m *Machine) IsInstalled(name string) bool {
loop := m.Packages.SortByName()
for loop.Scan() {
p := loop.Package()
if name == p.Name {
// log.Info("package installed:", p.Name, p.Version, p.PkgName)
return true
}
}
// log.Info("package not-installed:", name)
return false return false
} }
func (m *Machine) FindInstalledByName(name string) *Package {
loop := m.Packages.SortByName()
for loop.Scan() {
p := loop.Package()
if name == p.Name {
// log.Info("package installed:", p.Name, p.Version, p.PkgName)
return p
}
}
// log.Info("package not-installed:", name)
return nil
}
// looks to see if any package matches a name and version
// if version == "", return the first name found
func (m *Machine) FindVersion(name string, version string) *Package {
// first check all installed versions
loop := m.Packages.SortByName()
for loop.Scan() {
p := loop.Package()
if name == p.Name {
if version == "" {
return p
} else {
if version == p.Version {
return p
}
}
}
}
// check all wit packages
loop = m.Wit.SortByName()
for loop.Scan() {
p := loop.Package()
if name == p.Name {
if version == "" {
return p
} else {
if version == p.Version {
return p
}
}
}
}
// log.Info("package not-installed:", name)
return nil
}
// read the package list file from mirrors.wit.com // read the package list file from mirrors.wit.com
func (m *Machine) InitWit() error { func (m *Machine) InitWit() error {
if m.Wit == nil { if m.Wit == nil {