diff --git a/Makefile b/Makefile index ed5517b..e2a0d41 100644 --- a/Makefile +++ b/Makefile @@ -48,6 +48,9 @@ lint: unittests: julia docs/build_unittests.jl +doctests: + julia docs/build_doctests.jl + #coverage_report: # julia -e 'Pkg.test("JuliaFEM"; coverage=true); cd(Pkg.dir("JuliaFEM")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())' diff --git a/docs/build_doctest.jl b/docs/build_doctest.jl index 1338a55..230ed7f 100644 --- a/docs/build_doctest.jl +++ b/docs/build_doctest.jl @@ -1,5 +1,7 @@ using Docile, Lexicon, JuliaFEM +include("badges.jl") + """ Searches recursively all the modules from packages. As documentation grows, it's a bit troublesome to add all the new modules manually, so this function searches all the modules @@ -33,17 +35,21 @@ search_modules!(JuliaFEM, append_list) const modules = append_list cd(dirname(@__FILE__)) do - # Run the doctests *before* we start to generate *any* documentation. + npassed = 0 + nfailed = 0 + nskipped = 0 + fid = open("./quality/doctests_report.rst", "w") for m in modules - results = doctest(m) - write(fid, results) - #failures = failed(doctest(m)) - #if !isempty(failures.results) - # println("\nDoctests failed, aborting commit.\n") - # display(failures) - # exit(1) # Bail when doctests fail. - #end + s = doctest(m) + writemime(fid, "text/plain", s) + # local stats for this module + lnpassed, lnfailed, lnskipped = map(length, (passed(s), failed(s), skipped(s))) + npassed += lnpassed + nfailed += lnfailed + nskipped += lnskipped end close(fid) + make_badge("doctests", npassed, (npassed+nfailed+nskipped), "badges/doctests-status.svg") end +