Skip to content

Commit ddcfb89

Browse files
committed
UnitTestSuite: return a table of failed tests instead of just the failed count when running tests
1 parent a2edd55 commit ddcfb89

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

modules/DependencyControl/UnitTestSuite.moon

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -713,10 +713,11 @@ class UnitTestClass
713713
for i, test in pairs tests
714714
unless test\run unpack res
715715
failedCnt += 1
716+
failed[#failed+1] = test
716717
if abortOnFail
717718
@logger.indent -= 1
718719
@logger\warn msgs.run.abort, @name, i
719-
return false, i
720+
return false, failed
720721

721722
@logger.indent -= 1
722723
@success = failedCnt == 0
@@ -726,8 +727,7 @@ class UnitTestClass
726727
return true
727728

728729
@logger\log msgs.run.testsFailed, @name, failedCnt, testCnt
729-
return false, failedCnt
730-
730+
return false, failed
731731

732732

733733
--- A DependencyControl unit test suite.
@@ -807,7 +807,7 @@ class UnitTestSuite
807807
-- @treturn[2] boolean false (test class failed)
808808
-- @treturn[2] {@{UnitTest}, ...} a list of unit test that failed
809809
run: (abortOnFail, order = @order) =>
810-
classes = @classes
810+
classes, allFailed = @classes, {}
811811
if order
812812
classes, mappings = {}, {cls.name, cls for cls in *@classes}
813813
for i, name in ipairs order
@@ -819,17 +819,19 @@ class UnitTestSuite
819819
@logger.indent += 1
820820

821821
for i, cls in pairs classes
822-
unless cls\run abortOnFail
822+
success, failed = cls\run abortOnFail
823+
unless success
823824
failedCnt += 1
825+
allFailed[#allFailed+1] = test for test in *failed
824826
if abortOnFail
825827
@logger.indent -= 1
826828
@logger\warn msgs.run.abort, i
827-
return false, i
829+
return false, allFailed
828830

829831
@logger.indent -= 1
830832
@success = failedCnt == 0
831833
if @success
832834
@logger\log msgs.run.success
833835
else @logger\log msgs.run.classesFailed, failedCnt, classCnt
834836

835-
return @success, failedCnt
837+
return @success, failedCnt > 0 and allFailed or nil

0 commit comments

Comments
 (0)