diff --git a/exec/tests/test.js b/exec/tests/test.js
index 6b8f493119027a196b3fb85644b2c5dd8c22b513..36983289cd4b70f3ec04a7eb98ca414ed10c77bf 100755
--- a/exec/tests/test.js
+++ b/exec/tests/test.js
@@ -16,13 +16,22 @@ function depth_first(root, parent)
 {
 	var entries;
 
+	if (file_exists(root+'skipif')) {
+		try {
+			if (load(root+'skipif')) {
+				stdout.writeln("Skipping "+root);
+				return;
+			}
+		}
+		catch(e) {}
+	}
 	parent[root] = {tests:[]};
 	entries = directory(root+'*');
 
 	entries.forEach(function(entry) {
 		var last_ch;
 
-		if (entry === './' || entry === '../')
+		if (entry === './' || entry === '../' || entry === 'skipif')
 			return;
 		if (entry.length < 1)
 			return;