forked from JuliaDocs/Documenter.jl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
manual.jl
30 lines (28 loc) · 1.08 KB
/
manual.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using Documenter
using Test
@testset "Manual doctest" begin
@info "Doctesting Documenter manual"
doctest(Documenter)
# Make sure that doctest() fails if there is a manual page with a failing doctest
# Will need to run it in a Task though, so that we could easily capture the error.
@info "Doctesting Documenter manual w/ failing doctest"
tmpfile = joinpath(@__DIR__, "..", "docs", "src", "lib", "internals", "tmpfile.md")
write(tmpfile, """
# Temporary source file w/ failing doctest
```jldoctest
julia> 2 + 2
42
```
""")
@test isfile(tmpfile)
# Note: in Julia 1.3 fetch no longer throws the exception direction, but instead
# wraps it in a TaskFailedException (https://github.com/JuliaLang/julia/pull/32814).
if isdefined(Base, :TaskFailedException)
@test_throws TaskFailedException fetch(schedule(Task(() -> doctest(Documenter))))
else
@test_throws TestSetException fetch(schedule(Task(() -> doctest(Documenter))))
end
println("^^^ Expected error output.")
rm(tmpfile)
@test !isfile(tmpfile)
end