Index: src/tests/preempt_longrun/stack.c
===================================================================
--- src/tests/preempt_longrun/stack.c	(revision 6a36975a9d3e7f0ec33f93e86a8a925fc0e17ba1)
+++ src/tests/preempt_longrun/stack.c	(revision 303406a0eb32fee3be6642e3eb624c6b3209801a)
@@ -15,8 +15,8 @@
 
 void main(worker_t * this) {
-	volatile long p = 5_021_609ul;
-	volatile long a = 326_417ul;
-	volatile long n = 1l;
-	for (volatile long i = 0; i < p; i++) {
+	volatile long long p = 5_021_609ul;
+	volatile long long a = 326_417ul;
+	volatile long long n = 1l;
+	for (volatile long long i = 0; i < p; i++) {
 		n *= a;
 		n %= p;
Index: src/tests/sched-int-disjoint.c
===================================================================
--- src/tests/sched-int-disjoint.c	(revision 6a36975a9d3e7f0ec33f93e86a8a925fc0e17ba1)
+++ src/tests/sched-int-disjoint.c	(revision 303406a0eb32fee3be6642e3eb624c6b3209801a)
@@ -3,4 +3,6 @@
 #include <monitor>
 #include <thread>
+
+#include <time.h>
 
 static const unsigned long N = 10_000ul;
@@ -107,4 +109,5 @@
 // Main loop
 int main(int argc, char* argv[]) {
+	rand48seed( time( NULL ) );
 	all_done = false;
 	processor p;
Index: src/tests/sched-int-wait.c
===================================================================
--- src/tests/sched-int-wait.c	(revision 6a36975a9d3e7f0ec33f93e86a8a925fc0e17ba1)
+++ src/tests/sched-int-wait.c	(revision 303406a0eb32fee3be6642e3eb624c6b3209801a)
@@ -5,5 +5,7 @@
 #include <thread>
 
-static const unsigned long N = 10_000ul;
+#include <time.h>
+
+static const unsigned long N = 2_500ul;
 
 #ifndef PREEMPTION_RATE
@@ -119,4 +121,5 @@
 // Main
 int main(int argc, char* argv[]) {
+	rand48seed( time( NULL ) );
 	waiter_left = 4;
 	processor p[2];
