Add a go_test to //build_tests
I wanted to provide an example for students to write tests. This
should hopefully get them started.
Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Change-Id: I5b5e5509075cc6e30f5138b3a213c8966fd15763
diff --git a/build_tests/go_greeter/BUILD b/build_tests/go_greeter/BUILD
new file mode 100644
index 0000000..b4dbdc0
--- /dev/null
+++ b/build_tests/go_greeter/BUILD
@@ -0,0 +1,16 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+ name = "go_greeter",
+ srcs = ["greeter.go"],
+ importpath = "github.com/frc971/971-Robot-Code/build_tests/go_greeter",
+ target_compatible_with = ["@platforms//cpu:x86_64"],
+ visibility = ["//visibility:public"],
+)
+
+go_test(
+ name = "go_greeter_test",
+ srcs = ["greeter_test.go"],
+ embed = [":go_greeter"],
+ target_compatible_with = ["@platforms//cpu:x86_64"],
+)
diff --git a/build_tests/go_greeter/greeter.go b/build_tests/go_greeter/greeter.go
new file mode 100644
index 0000000..53f837a
--- /dev/null
+++ b/build_tests/go_greeter/greeter.go
@@ -0,0 +1,5 @@
+package go_greeter
+
+func Greet(name string) string {
+ return "Hello, " + name
+}
diff --git a/build_tests/go_greeter/greeter_test.go b/build_tests/go_greeter/greeter_test.go
new file mode 100644
index 0000000..207f360
--- /dev/null
+++ b/build_tests/go_greeter/greeter_test.go
@@ -0,0 +1,18 @@
+package go_greeter
+
+import "testing"
+
+func TestGreetings(t *testing.T) {
+ cases := []struct {
+ input, expected string
+ }{
+ {"world", "Hello, world"},
+ {" foobar", "Hello, foobar"},
+ }
+ for _, c := range cases {
+ greeting := Greet(c.input)
+ if greeting != c.expected {
+ t.Errorf("Got %q, but expected %q.", greeting, c.expected)
+ }
+ }
+}