summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gobang.go5
-rw-r--r--tests/gobang.go22
2 files changed, 26 insertions, 1 deletions
diff --git a/src/gobang.go b/src/gobang.go
index 73f42c5..2985d19 100644
--- a/src/gobang.go
+++ b/src/gobang.go
@@ -65,11 +65,14 @@ var (
-func Must[T any](x T, err error) T {
+func PanicIf(err error) {
if err != nil {
panic(err)
}
+}
+func Must[T any](x T, err error) T {
+ PanicIf(err)
return x
}
diff --git a/tests/gobang.go b/tests/gobang.go
index c1286cd..32f6d99 100644
--- a/tests/gobang.go
+++ b/tests/gobang.go
@@ -15,6 +15,27 @@ import (
+func test_PanicIf() {
+ TestStart("PanicIf()")
+
+ myErr := errors.New("test error")
+
+
+ Testing("noop when error is nil", func() {
+ var err error
+ PanicIf(err)
+ PanicIf(nil)
+ })
+
+ Testing("panic when we have an error", func() {
+ defer func() {
+ TAssertEqual(recover(), myErr)
+ }()
+ PanicIf(myErr)
+ TErrorNil(nil)
+ })
+}
+
func test_Must() {
TestStart("Must()")
@@ -1333,6 +1354,7 @@ func test_setHostname() {
func MainTest() {
Init()
+ test_PanicIf()
test_Must()
test_Clamp()
test_ValidateSQLTablePrefix()