From 79b8435877a32f3ad3d0cb604da007bd0b55b955 Mon Sep 17 00:00:00 2001
From: Dale Weiler <killfieldengine@gmail.com>
Date: Sun, 2 Dec 2012 10:57:04 +0000
Subject: [PATCH] Fix testsuite

---
 test.c | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/test.c b/test.c
index 34b3744..866bbf7 100644
--- a/test.c
+++ b/test.c
@@ -910,8 +910,10 @@ void task_schedualize() {
         while (util_getline(&data, &size, task_tasks[i].runhandles[1]) != EOF) {
             fputs(data, task_tasks[i].stdoutlog);
 
-            if (strstr(data, "failed to open file"))
-                execute = false;
+            if (strstr(data, "failed to open file")) {
+                task_tasks[i].compiled = false;
+                execute                = false;
+            }
 
             fflush(task_tasks[i].stdoutlog);
         }
@@ -933,17 +935,25 @@ void task_schedualize() {
             fflush(task_tasks[i].stdoutlog);
         }
 
+        if (!execute) {
+            con_err("test failure: `%s` [%s] (failed to compile) see %s.stdout and %s.stderr\n",
+                task_tasks[i].template->description,
+                (task_tasks[i].template->failuremessage) ?
+                task_tasks[i].template->failuremessage : "unknown",
+                task_tasks[i].template->tempfilename,
+                task_tasks[i].template->tempfilename
+            );
+            continue;
+        }
         /*
          * If we made it here that concludes the task is to be executed
          * in the virtual machine.
          */
-        if (!execute || !task_execute(task_tasks[i].template)) {
-            con_err("test failure: `%s` [%s] see %s.stdout and %s.stderr\n",
+        if (!task_execute(task_tasks[i].template)) {
+            con_err("test failure: `%s` [%s] (invalid results from execution)\n",
                 task_tasks[i].template->description,
                 (task_tasks[i].template->failuremessage) ?
-                task_tasks[i].template->failuremessage : "unknown",
-                task_tasks[i].template->tempfilename,
-                task_tasks[i].template->tempfilename
+                task_tasks[i].template->failuremessage : "unknown"
             );
             continue;
         }
-- 
2.39.5