From 9d95b189135422a720cb00f8b0ca8546e7fdc9b5 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 1 Dec 2024 19:27:30 -0600 Subject: Day 1. pull these out from protobuf libraries --- zoopb-example/Makefile | 17 ++++++++++++ zoopb-example/main.go | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 zoopb-example/Makefile create mode 100644 zoopb-example/main.go (limited to 'zoopb-example') diff --git a/zoopb-example/Makefile b/zoopb-example/Makefile new file mode 100644 index 0000000..fe53a86 --- /dev/null +++ b/zoopb-example/Makefile @@ -0,0 +1,17 @@ +build: + GO111MODULE=off go build + +test: + ./zoopb-example + +goimports: + goimports -w *.go + +prep: + go get -v -t -u + +run: + go run *.go + +clean: + -rm -f zoopb-example diff --git a/zoopb-example/main.go b/zoopb-example/main.go new file mode 100644 index 0000000..c7d6144 --- /dev/null +++ b/zoopb-example/main.go @@ -0,0 +1,71 @@ +package main + +import ( + "fmt" + + "go.wit.com/lib/protobuf/zoopb" + "go.wit.com/log" +) + +func main() { + m := testMachine() + testPackages(m) + + loop := m.Packages.SortByName() + for loop.Scan() { + p := loop.Next() + 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 { + var m *zoopb.Machine + m = new(zoopb.Machine) + m.Hostname = "zookeeper" + return m +} + +func testPackages(m *zoopb.Machine) { + m.Packages = new(zoopb.Packages) + // r = zoopb.LoadJSON("go.wit.com/lib/protobuf/zoopb") + + new1 := new(zoopb.Package) + new1.Name = "bash" + new1.Version = "5.2.21" + if m.Packages.Append(new1) { + log.Info("added", new1.Name, "ok") + } else { + log.Info("added", new1.Name, "failed") + } + + new2 := new(zoopb.Package) + new2.Name = "go-clone" + new2.Version = "0.6.8" // good version of the macos + if m.Packages.Append(new2) { + log.Info("added", new2.Name, "ok") + } else { + log.Info("added", new2.Name, "failed") + } + + if m.Packages.Append(new2) { + log.Info("added", new2.Name, "ok (this is bad)") + } else { + log.Info("added", new2.Name, "failed (but ok)") + } + + fmt.Println("package count = ", m.Packages.Len()) +} -- cgit v1.2.3