diff --git a/test.hxml b/test.hxml index 5f4c041..6538521 100644 --- a/test.hxml +++ b/test.hxml @@ -4,6 +4,4 @@ -D dump=pretty -neko bin/test.n -lib buddy --lib utest --debug --D fdb +-D reporter=buddy.TravisReporter diff --git a/test/buddy/TravisReporter.hx b/test/buddy/TravisReporter.hx new file mode 100644 index 0000000..5de0782 --- /dev/null +++ b/test/buddy/TravisReporter.hx @@ -0,0 +1,46 @@ +package buddy; + +import buddy.BuddySuite.Suite; +import buddy.reporting.ConsoleReporter; +import buddy.BuddySuite.TestStatus; + +using Lambda; + +#if nodejs +import buddy.internal.sys.NodeJs; +typedef Sys = NodeJs; +#elseif js +import buddy.internal.sys.Js; +typedef Sys = Js; +#elseif flash +import buddy.internal.sys.Flash; +typedef Sys = Flash; +#end + + + +/** + * ... + * @author deep + */ +class TravisReporter extends ConsoleReporter +{ + override public function done(suites:Iterable) + { + var res = super.done(suites); + + function successSuite(s : Suite):Bool { + for (sp in s.steps) switch sp { + case TSpec(sp) if (sp.status == TestStatus.Failed): return false; + case TSuite(s) if (!successSuite(s)): return false; + case _: + } + return true; + }; + var success = suites.foreach(successSuite); + + Sys.println('success: ${success}'); + + return res; + } +} \ No newline at end of file