Index: .gitignore
===================================================================
--- .gitignore	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ .gitignore	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -11,4 +11,5 @@
 /Makefile
 src/**/Makefile
+tools/**/Makefile
 /version
 
Index: src/tests/preempt_longrun/Makefile.am
===================================================================
--- src/tests/preempt_longrun/Makefile.am	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/Makefile.am	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -19,5 +19,6 @@
 preempt=1_000ul
 
-REPEAT = ${abs_top_srcdir}/tools/repeat -s
+REPEAT = ${abs_top_srcdir}/tools/repeat
+TIME = /usr/bin/time -f "%E"
 
 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -debug -O2 -DPREEMPTION_RATE=${preempt}
@@ -37,6 +38,14 @@
 	${AM_V_GEN}${CC} ${CFLAGS} ${<} -o ${@}
 
-%.run : %
-	@ time ${REPEAT} $(repeats) timeout ${max_time} ./${<}
+%.run : % ${REPEAT}
+	@ time ${REPEAT} -r out.log -i -s $(repeats) timeout ${max_time} ./${<}
 	@ rm ${<}
 	@ echo -e "${<}: SUCCESS\n"
+
+%.time : % ${REPEAT}
+	@ ${REPEAT} -i -s -- $(repeats) $(TIME) -a -o times.log ./${<}
+	@ rm ${<}
+	@ echo -e "${<}: SUCCESS\n"
+
+${REPEAT}:
+	@+make -C ${abs_top_srcdir}/tools/
Index: src/tests/preempt_longrun/Makefile.in
===================================================================
--- src/tests/preempt_longrun/Makefile.in	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/Makefile.in	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -451,5 +451,6 @@
 max_time = 600
 preempt = 1_000ul
-REPEAT = ${abs_top_srcdir}/tools/repeat -s
+REPEAT = ${abs_top_srcdir}/tools/repeat
+TIME = /usr/bin/time -f "%E"
 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -debug -O2 -DPREEMPTION_RATE=${preempt}
 TESTS = block create disjoint enter enter3 processor stack wait yield
@@ -874,8 +875,16 @@
 	${AM_V_GEN}${CC} ${CFLAGS} ${<} -o ${@}
 
-%.run : %
-	@ time ${REPEAT} $(repeats) timeout ${max_time} ./${<}
+%.run : % ${REPEAT}
+	@ time ${REPEAT} -r out.log -i -s $(repeats) timeout ${max_time} ./${<}
 	@ rm ${<}
 	@ echo -e "${<}: SUCCESS\n"
+
+%.time : % ${REPEAT}
+	@ ${REPEAT} -i -s -- $(repeats) $(TIME) -a -o times.log ./${<}
+	@ rm ${<}
+	@ echo -e "${<}: SUCCESS\n"
+
+${REPEAT}:
+	@+make -C ${abs_top_srcdir}/tools/
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: src/tests/preempt_longrun/block.c
===================================================================
--- src/tests/preempt_longrun/block.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/block.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -1,1 +1,1 @@
-../sched-int-block.c
+../concurrent/signal/block.c
Index: src/tests/preempt_longrun/create.c
===================================================================
--- src/tests/preempt_longrun/create.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/create.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -14,5 +14,5 @@
 thread worker_t {};
 
-void main(worker_t * this) {}
+void main(worker_t & this) {}
 
 int main(int argc, char* argv[]) {
Index: src/tests/preempt_longrun/disjoint.c
===================================================================
--- src/tests/preempt_longrun/disjoint.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/disjoint.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -1,1 +1,1 @@
-../sched-int-disjoint.c
+../concurrent/signal/disjoint.c
Index: src/tests/preempt_longrun/enter.c
===================================================================
--- src/tests/preempt_longrun/enter.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/enter.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -17,11 +17,11 @@
 mon_t mon;
 
-void foo( mon_t * mutex this ) {}
+void foo( mon_t & mutex this ) {}
 
 thread worker_t {};
 
-void main( worker_t * this ) {
+void main( worker_t & this ) {
 	for( unsigned long i = 0; i < N; i++ ) {
-		foo( &mon );
+		foo( mon );
 	}
 }
Index: src/tests/preempt_longrun/enter3.c
===================================================================
--- src/tests/preempt_longrun/enter3.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/enter3.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -17,11 +17,11 @@
 mon_t mon1, mon2, mon3;
 
-void foo( mon_t * mutex a, mon_t * mutex b, mon_t * mutex c ) {}
+void foo( mon_t & mutex a, mon_t & mutex b, mon_t & mutex c ) {}
 
 thread worker_t {};
 
-void main( worker_t * this ) {
+void main( worker_t & this ) {
 	for( unsigned long i = 0; i < N; i++ ) {
-		foo( &mon1, &mon2, &mon3 );
+		foo( mon1, mon2, mon3 );
 	}
 }
Index: src/tests/preempt_longrun/processor.c
===================================================================
--- src/tests/preempt_longrun/processor.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/processor.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -14,5 +14,5 @@
 thread worker_t {};
 
-void main(worker_t * this) {}
+void main(worker_t & this) {}
 
 int main(int argc, char* argv[]) {
Index: src/tests/preempt_longrun/stack.c
===================================================================
--- src/tests/preempt_longrun/stack.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/stack.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -14,5 +14,5 @@
 thread worker_t {};
 
-void main(worker_t * this) {
+void main(worker_t & this) {
 	volatile long long p = 5_021_609ul;
 	volatile long long a = 326_417ul;
Index: src/tests/preempt_longrun/wait.c
===================================================================
--- src/tests/preempt_longrun/wait.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/wait.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -1,1 +1,1 @@
-../sched-int-wait.c
+../concurrent/signal/wait.c
Index: src/tests/preempt_longrun/yield.c
===================================================================
--- src/tests/preempt_longrun/yield.c	(revision 5ff188f3cd236584cfa7f3b12ea210fdd51bde8a)
+++ src/tests/preempt_longrun/yield.c	(revision 281806b6c955f396878875214542a7b34898d253)
@@ -14,5 +14,5 @@
 thread worker_t {};
 
-void main(worker_t * this) {
+void main(worker_t & this) {
 	for(int i = 0; i < N; i++) {
 		yield();
