Index: uspace/app/hbench/ipc/ns_ping.c
===================================================================
--- uspace/app/hbench/ipc/ns_ping.c	(revision ebb0835c2c47eb2e0f1fd4e27708490ece3c25db)
+++ uspace/app/hbench/ipc/ns_ping.c	(revision e7f9a093b00a54747dbfa7e288153beb04d93009)
@@ -38,8 +38,7 @@
 #include "../hbench.h"
 
-static bool runner(benchmeter_t *meter, uint64_t niter,
-    char *error, size_t error_size)
+static bool runner(bench_run_t *run, uint64_t niter)
 {
-	benchmeter_start(meter);
+	bench_run_start(run);
 
 	for (uint64_t count = 0; count < niter; count++) {
@@ -47,12 +46,10 @@
 
 		if (rc != EOK) {
-			snprintf(error, error_size,
-			    "failed sending ping message: %s (%d)",
+			return bench_run_fail(run, "failed sending ping message: %s (%d)",
 			    str_error(rc), rc);
-			return false;
 		}
 	}
 
-	benchmeter_stop(meter);
+	bench_run_stop(run);
 
 	return true;
Index: uspace/app/hbench/ipc/ping_pong.c
===================================================================
--- uspace/app/hbench/ipc/ping_pong.c	(revision ebb0835c2c47eb2e0f1fd4e27708490ece3c25db)
+++ uspace/app/hbench/ipc/ping_pong.c	(revision e7f9a093b00a54747dbfa7e288153beb04d93009)
@@ -40,12 +40,11 @@
 static ipc_test_t *test = NULL;
 
-static bool setup(char *error, size_t error_size)
+static bool setup(bench_run_t *run)
 {
 	errno_t rc = ipc_test_create(&test);
 	if (rc != EOK) {
-		snprintf(error, error_size,
+		return bench_run_fail(run,
 		    "failed contacting IPC test server (have you run /srv/test/ipc-test?): %s (%d)",
 		    str_error(rc), rc);
-		return false;
 	}
 
@@ -53,5 +52,5 @@
 }
 
-static bool teardown(char *error, size_t error_size)
+static bool teardown(bench_run_t *run)
 {
 	ipc_test_destroy(test);
@@ -59,8 +58,7 @@
 }
 
-static bool runner(benchmeter_t *meter, uint64_t niter,
-    char *error, size_t error_size)
+static bool runner(bench_run_t *run, uint64_t niter)
 {
-	benchmeter_start(meter);
+	bench_run_start(run);
 
 	for (uint64_t count = 0; count < niter; count++) {
@@ -68,12 +66,10 @@
 
 		if (rc != EOK) {
-			snprintf(error, error_size,
-			    "failed sending ping message: %s (%d)",
+			return bench_run_fail(run, "failed sending ping message: %s (%d)",
 			    str_error(rc), rc);
-			return false;
 		}
 	}
 
-	benchmeter_stop(meter);
+	bench_run_stop(run);
 
 	return true;
