diff --git a/Project.toml b/Project.toml index bbb22a2..f53cf97 100644 --- a/Project.toml +++ b/Project.toml @@ -24,7 +24,7 @@ FunctionWrappers = "1.1.2" Mooncake = "0.5" PrecompileTools = "1.1" SafeTestsets = "0.1, 1" -SciMLTesting = "1" +SciMLTesting = "2.1" Test = "1" TruncatedStacktraces = "1.1" julia = "1.10" diff --git a/test/Enzyme/Project.toml b/test/Enzyme/Project.toml index a36c643..79ed518 100644 --- a/test/Enzyme/Project.toml +++ b/test/Enzyme/Project.toml @@ -5,8 +5,6 @@ FunctionWrappersWrappers = "77dc65aa-8811-40c2-897b-53d922fa7daf" SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -[sources] -FunctionWrappersWrappers = {path = "../.."} [compat] Enzyme = "0.13" diff --git a/test/Mooncake/Project.toml b/test/Mooncake/Project.toml index b90014b..f080d94 100644 --- a/test/Mooncake/Project.toml +++ b/test/Mooncake/Project.toml @@ -4,8 +4,6 @@ Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -[sources] -FunctionWrappersWrappers = {path = "../.."} [compat] Mooncake = "0.5" diff --git a/test/nopre/Project.toml b/test/nopre/Project.toml index 2021cec..363a741 100644 --- a/test/nopre/Project.toml +++ b/test/nopre/Project.toml @@ -5,10 +5,7 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -[sources] -FunctionWrappersWrappers = {path = "../.."} - [compat] SafeTestsets = "0.0.1, 0.1" -SciMLTesting = "1" +SciMLTesting = "2.1" Test = "1" diff --git a/test/qa/Project.toml b/test/qa/Project.toml index 754f8b8..2b9114c 100644 --- a/test/qa/Project.toml +++ b/test/qa/Project.toml @@ -6,13 +6,10 @@ SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f" SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -[sources] -FunctionWrappersWrappers = {path = "../.."} - [compat] Aqua = "0.8" JET = "0.9, 0.10, 0.11" SafeTestsets = "0.0.1, 0.1, 1" -SciMLTesting = "1.6" +SciMLTesting = "2.1" Test = "1" julia = "1.10" diff --git a/test/qa/qa.jl b/test/qa/qa.jl index 5bf5a04..5ceb69b 100644 --- a/test/qa/qa.jl +++ b/test/qa/qa.jl @@ -1,4 +1,4 @@ -using SciMLTesting, FunctionWrappersWrappers, Test +using SciMLTesting, FunctionWrappersWrappers using JET run_qa( @@ -14,61 +14,5 @@ run_qa( ignore = (:tail, :FunctionWrapper, Symbol("@truncate_stacktrace")), ), ), + api_docs_kwargs = (; rendered = true), ) - -function public_api_names(mod::Module) - public_names = Set(Symbol.(names(mod; all = false, imported = false))) - if isdefined(Base, :ispublic) - for name in names(mod; all = true, imported = false) - Base.ispublic(mod, name) && push!(public_names, Symbol(name)) - end - end - delete!(public_names, nameof(mod)) - return sort!(collect(public_names)) -end - -function has_source_docstring(mod::Module, name::Symbol) - if isdefined(Docs, :hasdoc) - return Docs.hasdoc(mod, name) - end - - obj = getproperty(mod, name) - (obj isa Function || obj isa Type) || return false - return !startswith(strip(string(Docs.doc(obj))), "No documentation found.") -end - -function docs_include_public_api(mod::Module, public_names) - package_root = pkgdir(mod) - isnothing(package_root) && return false - - docs_src = joinpath(package_root, "docs", "src") - isdir(docs_src) || return false - - markdown = join( - read(path, String) - for path in readdir(docs_src; join = true) if endswith(path, ".md") - ) - module_name = string(nameof(mod)) - autodocs_pattern = Regex( - "```@autodocs[\\s\\S]*?Modules\\s*=\\s*\\[[^\\]]*\\b" * - module_name * - "\\b[^\\]]*\\]" - ) - occursin(autodocs_pattern, markdown) && return true - - docs_blocks = [match.match for match in eachmatch(r"```@docs[\s\S]*?```", markdown)] - return all(public_names) do name - any(block -> occursin(string(name), block), docs_blocks) - end -end - -@testset "Public API documentation" begin - public_names = public_api_names(FunctionWrappersWrappers) - undocumented_names = filter( - name -> !has_source_docstring(FunctionWrappersWrappers, name), - public_names - ) - - @test isempty(undocumented_names) - @test docs_include_public_api(FunctionWrappersWrappers, public_names) -end