# HG changeset patch # User Matthew Wild # Date 1441360539 -3600 # Node ID 85578994d376d42f30747f09aff693d6a9c8698b # Parent 3b07f38d70f5e0119ba665495f5e65bd7d8949b3 tests: Return status code depending on whether tests passed diff -r 3b07f38d70f5 -r 85578994d376 tests/test.lua --- a/tests/test.lua Wed Dec 18 19:00:24 2013 -0500 +++ b/tests/test.lua Fri Sep 04 10:55:39 2015 +0100 @@ -6,7 +6,7 @@ -- COPYING file in the source package for more information. -- - +local tests_passed = true; function run_all_tests() package.loaded["net.connlisteners"] = { get = function () return {} end }; @@ -99,6 +99,7 @@ local success, ret = pcall(tests[fname]); debug.sethook(); if not success then + tests_passed = false; print("TEST FAILED! Unit: ["..testname.."] Function: ["..fname.."]"); print(" Location: "..ret:gsub(":%s*\n", "\n")); line_info(fname, false, report_file); @@ -171,6 +172,7 @@ local success, ret = pcall(test, f, unit); debug.sethook(); if not success then + tests_passed = false; print("TEST FAILED! Unit: ["..unitname.."] Function: ["..name.."]"); print(" Location: "..ret:gsub(":%s*\n", "\n")); line_info(name, false, report_file); @@ -190,6 +192,7 @@ if success and verbosity >= 2 then print("SUBTEST PASSED: "..(msg or "(no description)")); elseif (not success) and verbosity >= 0 then + tests_passed = false; print("SUBTEST FAILED: "..(msg or "(no description)")); error(ret, 0); end @@ -237,3 +240,5 @@ end run_all_tests() + +os.exit(tests_passed and 0 or 1);