aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-01-22 12:44:34 -0300
committerEuAndreh <eu@euandre.org>2025-01-22 12:44:34 -0300
commitbd0fe6afd674bbca7be4ab87e5befd96ed3f5a88 (patch)
tree7ce6a9845f13a6b47c24b0ffdb22dc5cb1044f24
parentWIP: Turn cmd/santa-example into functional test (diff)
downloadstm-bd0fe6afd674bbca7be4ab87e5befd96ed3f5a88.tar.gz
stm-bd0fe6afd674bbca7be4ab87e5befd96ed3f5a88.tar.xz
Setup stub fuzz and benchmark test files
-rw-r--r--deps.mk18
l---------tests/benchmarks/atomic-set/main.go1
-rw-r--r--tests/benchmarks/atomic-set/stm.go23
l---------tests/fuzz/api/main.go1
-rw-r--r--tests/fuzz/api/stm.go34
5 files changed, 77 insertions, 0 deletions
diff --git a/deps.mk b/deps.mk
index 21591c7..69e7b8d 100644
--- a/deps.mk
+++ b/deps.mk
@@ -1,10 +1,14 @@
libs.go = \
src/stm.go \
+ tests/benchmarks/atomic-set/stm.go \
tests/functional/santa-claus/stm.go \
+ tests/fuzz/api/stm.go \
tests/stm.go \
mains.go = \
+ tests/benchmarks/atomic-set/main.go \
tests/functional/santa-claus/main.go \
+ tests/fuzz/api/main.go \
tests/main.go \
functional-tests/lib.go = \
@@ -14,21 +18,35 @@ functional-tests/main.go = \
tests/functional/santa-claus/main.go \
fuzz-targets/lib.go = \
+ tests/fuzz/api/stm.go \
fuzz-targets/main.go = \
+ tests/fuzz/api/main.go \
benchmarks/lib.go = \
+ tests/benchmarks/atomic-set/stm.go \
benchmarks/main.go = \
+ tests/benchmarks/atomic-set/main.go \
src/stm.a: src/stm.go
+tests/benchmarks/atomic-set/main.a: tests/benchmarks/atomic-set/main.go
+tests/benchmarks/atomic-set/stm.a: tests/benchmarks/atomic-set/stm.go
tests/functional/santa-claus/main.a: tests/functional/santa-claus/main.go
tests/functional/santa-claus/stm.a: tests/functional/santa-claus/stm.go
+tests/fuzz/api/main.a: tests/fuzz/api/main.go
+tests/fuzz/api/stm.a: tests/fuzz/api/stm.go
tests/main.a: tests/main.go
tests/stm.a: tests/stm.go
+tests/benchmarks/atomic-set/main.bin: tests/benchmarks/atomic-set/main.a
tests/functional/santa-claus/main.bin: tests/functional/santa-claus/main.a
+tests/fuzz/api/main.bin: tests/fuzz/api/main.a
tests/main.bin: tests/main.a
+tests/benchmarks/atomic-set/main.bin-check: tests/benchmarks/atomic-set/main.bin
tests/functional/santa-claus/main.bin-check: tests/functional/santa-claus/main.bin
+tests/fuzz/api/main.bin-check: tests/fuzz/api/main.bin
tests/main.bin-check: tests/main.bin
+tests/benchmarks/atomic-set/main.a: tests/benchmarks/atomic-set/$(NAME).a
tests/functional/santa-claus/main.a: tests/functional/santa-claus/$(NAME).a
+tests/fuzz/api/main.a: tests/fuzz/api/$(NAME).a
tests/main.a: tests/$(NAME).a
diff --git a/tests/benchmarks/atomic-set/main.go b/tests/benchmarks/atomic-set/main.go
new file mode 120000
index 0000000..f67563d
--- /dev/null
+++ b/tests/benchmarks/atomic-set/main.go
@@ -0,0 +1 @@
+../../main.go \ No newline at end of file
diff --git a/tests/benchmarks/atomic-set/stm.go b/tests/benchmarks/atomic-set/stm.go
new file mode 100644
index 0000000..24aa95d
--- /dev/null
+++ b/tests/benchmarks/atomic-set/stm.go
@@ -0,0 +1,23 @@
+package stm
+
+import (
+ "flag"
+ "time"
+)
+
+
+
+var nFlag = flag.Int(
+ "n",
+ 1_000,
+ "The number of iterations to execute",
+)
+
+func MainTest() {
+ flag.Parse()
+ n := *nFlag
+
+ for i := 0; i < n; i++ {
+ time.Sleep(time.Millisecond * 1)
+ }
+}
diff --git a/tests/fuzz/api/main.go b/tests/fuzz/api/main.go
new file mode 120000
index 0000000..f67563d
--- /dev/null
+++ b/tests/fuzz/api/main.go
@@ -0,0 +1 @@
+../../main.go \ No newline at end of file
diff --git a/tests/fuzz/api/stm.go b/tests/fuzz/api/stm.go
new file mode 100644
index 0000000..70b585c
--- /dev/null
+++ b/tests/fuzz/api/stm.go
@@ -0,0 +1,34 @@
+package stm
+
+import (
+ "os"
+ "testing"
+ "testing/internal/testdeps"
+)
+
+
+
+func api(f *testing.F) {
+ f.Fuzz(func(t *testing.T, n int) {
+ if n > 1 {
+ if n < 2 {
+ t.Errorf("Failed n: %v\n", n)
+ }
+ }
+ })
+}
+
+
+
+func MainTest() {
+ fuzzTargets := []testing.InternalFuzzTarget{
+ { "api", api },
+ }
+
+ deps := testdeps.TestDeps{}
+ tests := []testing.InternalTest {}
+ benchmarks := []testing.InternalBenchmark{}
+ examples := []testing.InternalExample {}
+ m := testing.MainStart(deps, tests, benchmarks, fuzzTargets, examples)
+ os.Exit(m.Run())
+}