Index: src/tests/.expect/concurrent/sched-int-barge.txt
===================================================================
--- src/tests/.expect/concurrent/sched-int-barge.txt	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ 	(revision )
@@ -1,100 +1,0 @@
-1000
-2000
-3000
-4000
-5000
-6000
-7000
-8000
-9000
-10000
-11000
-12000
-13000
-14000
-15000
-16000
-17000
-18000
-19000
-20000
-21000
-22000
-23000
-24000
-25000
-26000
-27000
-28000
-29000
-30000
-31000
-32000
-33000
-34000
-35000
-36000
-37000
-38000
-39000
-40000
-41000
-42000
-43000
-44000
-45000
-46000
-47000
-48000
-49000
-50000
-51000
-52000
-53000
-54000
-55000
-56000
-57000
-58000
-59000
-60000
-61000
-62000
-63000
-64000
-65000
-66000
-67000
-68000
-69000
-70000
-71000
-72000
-73000
-74000
-75000
-76000
-77000
-78000
-79000
-80000
-81000
-82000
-83000
-84000
-85000
-86000
-87000
-88000
-89000
-90000
-91000
-92000
-93000
-94000
-95000
-96000
-97000
-98000
-99000
-100000
Index: src/tests/preempt_longrun/Makefile.am
===================================================================
--- src/tests/preempt_longrun/Makefile.am	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/preempt_longrun/Makefile.am	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -25,5 +25,5 @@
 CC = @CFA_BINDIR@/@CFA_NAME@
 
-TESTS = barge block create disjoint enter enter3 processor stack wait yield
+TESTS = block create disjoint enter enter3 processor stack wait yield
 
 .INTERMEDIATE: ${TESTS}
Index: src/tests/preempt_longrun/Makefile.in
===================================================================
--- src/tests/preempt_longrun/Makefile.in	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/preempt_longrun/Makefile.in	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -453,5 +453,5 @@
 REPEAT = ${abs_top_srcdir}/tools/repeat -s
 BUILD_FLAGS = -g -Wall -Wno-unused-function -quiet @CFA_FLAGS@ -debug -O2 -DPREEMPTION_RATE=${preempt}
-TESTS = barge block create disjoint enter enter3 processor stack wait yield
+TESTS = block create disjoint enter enter3 processor stack wait yield
 all: all-am
 
@@ -635,11 +635,4 @@
 	        TEST_LOGS="$$log_list"; \
 	exit $$?
-barge.log: barge
-	@p='barge'; \
-	b='barge'; \
-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
 block.log: block
 	@p='block'; \
Index: src/tests/preempt_longrun/barge.c
===================================================================
--- src/tests/preempt_longrun/barge.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ 	(revision )
@@ -1,1 +1,0 @@
-../sched-int-barge.c
Index: src/tests/preempt_longrun/create.c
===================================================================
--- src/tests/preempt_longrun/create.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/preempt_longrun/create.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -1,4 +1,6 @@
 #include <kernel>
 #include <thread>
+
+static const unsigned long N = 2_000ul;
 
 #ifndef PREEMPTION_RATE
@@ -16,5 +18,5 @@
 int main(int argc, char* argv[]) {
 	processor p;
-	for(int i = 0; i < 10_000ul; i++) {
+	for(int i = 0; i < N; i++) {
 		worker_t w[7];
 	}
Index: src/tests/preempt_longrun/enter.c
===================================================================
--- src/tests/preempt_longrun/enter.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/preempt_longrun/enter.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -3,5 +3,4 @@
 #include <thread>
 
-#undef N
 static const unsigned long N  = 70_000ul;
 
Index: src/tests/preempt_longrun/enter3.c
===================================================================
--- src/tests/preempt_longrun/enter3.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/preempt_longrun/enter3.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -3,5 +3,4 @@
 #include <thread>
 
-#undef N
 static const unsigned long N  = 50_000ul;
 
Index: src/tests/preempt_longrun/processor.c
===================================================================
--- src/tests/preempt_longrun/processor.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/preempt_longrun/processor.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -1,4 +1,6 @@
 #include <kernel>
 #include <thread>
+
+static const unsigned long N = 5_000ul;
 
 #ifndef PREEMPTION_RATE
@@ -15,5 +17,5 @@
 
 int main(int argc, char* argv[]) {
-	for(int i = 0; i < 10_000ul; i++) {
+	for(int i = 0; i < N; i++) {
 		processor p;
 	}
Index: src/tests/preempt_longrun/yield.c
===================================================================
--- src/tests/preempt_longrun/yield.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/preempt_longrun/yield.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -1,4 +1,6 @@
 #include <kernel>
 #include <thread>
+
+static const unsigned long N = 325_000ul;
 
 #ifndef PREEMPTION_RATE
@@ -13,5 +15,5 @@
 
 void main(worker_t * this) {
-	for(int i = 0; i < 325_000ul; i++) {
+	for(int i = 0; i < N; i++) {
 		yield();
 	}
Index: src/tests/sched-int-barge.c
===================================================================
--- src/tests/sched-int-barge.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/sched-int-barge.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -5,8 +5,13 @@
 #include <thread>
 
-#ifndef N
-#define N 100_000
+static const unsigned long N = 50_000ul;
+
+#ifndef PREEMPTION_RATE
+#define PREEMPTION_RATE 10_000ul
 #endif
 
+unsigned int default_preemption() {
+	return 0;
+}
 enum state_t { WAIT, SIGNAL, BARGE };
 
@@ -14,5 +19,5 @@
 
 monitor global_data_t {
-	bool done;
+	volatile bool done;
 	int counter;
 	state_t state;
@@ -55,5 +60,5 @@
 		c->do_wait2 = ((unsigned)rand48()) % (c->do_signal);
 
-		// if(c->do_wait1 == c->do_wait2) sout | "Same" | endl;
+		if(c->do_wait1 == c->do_wait2) sout | "Same" | endl;
 	}
 
@@ -93,9 +98,12 @@
 }
 
+static thread_desc * volatile the_threads;
+
 int main(int argc, char* argv[]) {
-	rand48seed(0);
-	processor p;
-	{
-		Threads t[17];
-	}
+        rand48seed(0);
+        processor p;
+        {
+                Threads t[17];
+                the_threads = (thread_desc*)t;
+        }
 }
Index: src/tests/sched-int-block.c
===================================================================
--- src/tests/sched-int-block.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/sched-int-block.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -5,7 +5,15 @@
 #include <thread>
 
-#ifndef N
-#define N 10_000
+#include <time.h>
+
+static const unsigned long N = 5_000ul;
+
+#ifndef PREEMPTION_RATE
+#define PREEMPTION_RATE 10_000ul
 #endif
+
+unsigned int default_preemption() {
+	return PREEMPTION_RATE;
+}
 
 enum state_t { WAITED, SIGNAL, BARGE };
@@ -101,5 +109,5 @@
 
 int main(int argc, char* argv[]) {
-	rand48seed(0);
+	rand48seed( time( NULL ) );
 	done = false;
 	processor p;
Index: src/tests/sched-int-disjoint.c
===================================================================
--- src/tests/sched-int-disjoint.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/sched-int-disjoint.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -4,7 +4,13 @@
 #include <thread>
 
-#ifndef N
-#define N 10_000
+static const unsigned long N = 10_000ul;
+
+#ifndef PREEMPTION_RATE
+#define PREEMPTION_RATE 10_000ul
 #endif
+
+unsigned int default_preemption() {
+	return PREEMPTION_RATE;
+}
 
 enum state_t { WAIT, SIGNAL, BARGE };
Index: src/tests/sched-int-wait.c
===================================================================
--- src/tests/sched-int-wait.c	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/sched-int-wait.c	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -5,7 +5,13 @@
 #include <thread>
 
-#ifndef N
-#define N 10_000
+static const unsigned long N = 10_000ul;
+
+#ifndef PREEMPTION_RATE
+#define PREEMPTION_RATE 10_000ul
 #endif
+
+unsigned int default_preemption() {
+	return PREEMPTION_RATE;
+}
 
 monitor global_t {};
@@ -114,5 +120,5 @@
 int main(int argc, char* argv[]) {
 	waiter_left = 4;
-	processor p;
+	processor p[2];
 	sout | "Starting" | endl;
 	{
Index: src/tests/test.py
===================================================================
--- src/tests/test.py	(revision dab7ac792024c4767a55726e396c9df595df6da0)
+++ src/tests/test.py	(revision 21a5dde1d8e235428996a2e459961bdd313c8f8b)
@@ -221,9 +221,9 @@
 		if   retcode == TestResult.SUCCESS: 	result_txt = "Done"
 		elif retcode == TestResult.TIMEOUT: 	result_txt = "TIMEOUT"
-		else :						result_txt = "ERROR"
+		else :						result_txt = "ERROR code %d" % retcode
 	else :
 		if   retcode == TestResult.SUCCESS: 	result_txt = "PASSED"
 		elif retcode == TestResult.TIMEOUT: 	result_txt = "TIMEOUT"
-		else :						result_txt = "FAILED"
+		else :						result_txt = "FAILED with code %d" % retcode
 
 	#print result with error if needed
