From 771de6f98bf8be628eb11a4be8a6c57701b3df6b Mon Sep 17 00:00:00 2001
From: "Meredith L. Patterson" <mlp@thesmartpolitenerd.com>
Date: Tue, 6 Nov 2012 00:20:00 -0500
Subject: [PATCH] Benchmark test case array needed to be terminated with
 {NULL,0,NULL}. Noted that in comments.

---
 src/Makefile      | 2 +-
 src/benchmark.c   | 3 ++-
 src/t_benchmark.c | 7 ++++++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/Makefile b/src/Makefile
index 8cca6d37..f24f23b8 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -70,6 +70,6 @@ benchmark: t_benchmark.o libhammer.a
 test: test_suite
 	./test_suite -v
 
-test_suite: test_suite.o $(TESTS) libhammer.a
+test_suite: test_suite.o libhammer.a
 	$(call hush, "Linking $@") $(CC) -o $@ $^ $(LDFLAGS)
 endif
diff --git a/src/benchmark.c b/src/benchmark.c
index 3bb63730..5d193caa 100644
--- a/src/benchmark.c
+++ b/src/benchmark.c
@@ -5,7 +5,8 @@
 
 /*
   Usage:
-  Create your parser (i.e., HParser*), and then call
+  Create your parser (i.e., const HParser*), and an array of test cases
+  (i.e., HParserTestcase[], terminated by { NULL, 0, NULL }) and then call
 
   HBenchmarkResults* results = h_benchmark(parser, testcases);
 
diff --git a/src/t_benchmark.c b/src/t_benchmark.c
index 1859dac7..4101829f 100644
--- a/src/t_benchmark.c
+++ b/src/t_benchmark.c
@@ -5,7 +5,8 @@ HParserTestcase testcases[] = {
   {(unsigned char*)"1,2,3", 5, "(u0x31 u0x32 u0x33)"},
   {(unsigned char*)"1,3,2", 5, "(u0x31 u0x33 u0x32)"},
   {(unsigned char*)"1,3", 3, "(u0x31 u0x33)"},
-  {(unsigned char*)"3", 1, "(u0x33)"}
+  {(unsigned char*)"3", 1, "(u0x33)"},
+  { NULL, 0, NULL }
 };
 
 void test_benchmark_1() {
@@ -13,5 +14,9 @@ void test_benchmark_1() {
 
   HBenchmarkResults *res = h_benchmark(parser, testcases);
   h_benchmark_report(stderr, res);
+}
 
+int main(int argc, char **argv) {
+  test_benchmark_1();
+  return 0;
 }
-- 
GitLab