]> git.lizzy.rs Git - metalua.git/commitdiff
tests/run: running all tests before reporting errors
authorAlexander Gladysh <agladysh@gmail.com>
Sun, 8 Feb 2009 22:23:08 +0000 (01:23 +0300)
committerAlexander Gladysh <agladysh@gmail.com>
Sun, 8 Feb 2009 22:23:08 +0000 (01:23 +0300)
src/tests/run.mlua

index de91738cd2621b6e583962dda478f7e34a3a7be1..dd2f3a28097b584b09de943f2847e73d8ab1dafa 100644 (file)
@@ -6,10 +6,23 @@
 ls = io.popen ( (os.getenv("OS") or "") :match "^Windows" and "dir /b" or "ls")
 this_script = arg[1]
 
+local errors = {}
+
 for filename in ls :lines() if filename ~= this_script and filename :strmatch  "%.m?lua$" do
    printf ("*** running %s ***", filename)
    local ret = os.execute ("metalua "..filename)
-   if ret ~= 0 then error("Test "..filename.." failed, returned "..ret) end
+   if ret ~= 0 then 
+      errors[#errors + 1] = "Test "..filename.." failed, returned "..ret
+   end
 end
 
 ls :close()
+
+if #errors > 0 then
+   print("\n\n================================================================================") 
+   error(
+      "TEST FAILURES DETECTED:\n" ..
+      "-----------------------\n" ..
+      " * " .. table.concat(errors, "\n * ")
+    ) 
+end