diff --git a/src/Makefile b/src/Makefile
index 8cca6d37b761a6925a8e8c96fa2dc50c13fbb304..f24f23b880b0b0f6db82b869a584ceff75bd869a 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 3bb63730764d0df62af69aebfaec7a43ad7b3641..5d193caab360ead8fc19dfeae107ed9e19e08ba0 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 1859dac719a6365eaa00a3a94360b1d87d7783ef..4101829fa1620f50c58bb9192a3fc2f89e08d6bf 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;
 }