diff --git a/Project.toml b/Project.toml index f139297..711883f 100644 --- a/Project.toml +++ b/Project.toml @@ -22,9 +22,10 @@ Enzyme = "0.13" EnzymeCore = "0.8" FunctionWrappers = "1.1.2" Mooncake = "0.5" -PrecompileTools = "1" +PrecompileTools = "1.1" SafeTestsets = "0.1, 1" SciMLTesting = "1" +Test = "1" TruncatedStacktraces = "1.1" julia = "1.10" diff --git a/src/FunctionWrappersWrappers.jl b/src/FunctionWrappersWrappers.jl index 8b5ef0a..a99d624 100644 --- a/src/FunctionWrappersWrappers.jl +++ b/src/FunctionWrappersWrappers.jl @@ -1,6 +1,6 @@ module FunctionWrappersWrappers -using FunctionWrappers +using FunctionWrappers: FunctionWrappers import TruncatedStacktraces export FunctionWrappersWrapper, unwrap, wrapped_signatures, wrapped_return_types @@ -303,7 +303,7 @@ end # Precompilation # ============================================================================ -using PrecompileTools +using PrecompileTools: @compile_workload, @setup_workload @setup_workload begin @compile_workload begin diff --git a/test/qa/Project.toml b/test/qa/Project.toml new file mode 100644 index 0000000..754f8b8 --- /dev/null +++ b/test/qa/Project.toml @@ -0,0 +1,18 @@ +[deps] +Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" +FunctionWrappersWrappers = "77dc65aa-8811-40c2-897b-53d922fa7daf" +JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b" +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" +Test = "1" +julia = "1.10" diff --git a/test/qa/qa.jl b/test/qa/qa.jl new file mode 100644 index 0000000..0cbadbc --- /dev/null +++ b/test/qa/qa.jl @@ -0,0 +1,17 @@ +using SciMLTesting, FunctionWrappersWrappers, Test +using JET + +run_qa( + FunctionWrappersWrappers; + explicit_imports = true, + ei_kwargs = (; + # Qualified accesses to names that are not (yet) declared `public` in their + # owning module: `Base.tail`, `FunctionWrappers.FunctionWrapper`, and + # `TruncatedStacktraces.@truncate_stacktrace`. These are core, long-standing + # API of Base / FunctionWrappers / TruncatedStacktraces that predate the + # `public` keyword; ignore until those packages mark them public. + all_qualified_accesses_are_public = (; + ignore = (:tail, :FunctionWrapper, Symbol("@truncate_stacktrace")), + ), + ), +) diff --git a/test/runtests.jl b/test/runtests.jl index 232bc9f..e4da1f8 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -10,6 +10,7 @@ run_tests(; include(joinpath(@__DIR__, "shared", "bigfloat_unionall_tests.jl")) end end, + qa = (; env = joinpath(@__DIR__, "qa"), body = joinpath(@__DIR__, "qa", "qa.jl")), groups = Dict( "nopre" => (; env = joinpath(@__DIR__, "nopre"), diff --git a/test/test_groups.toml b/test/test_groups.toml index 2568f58..ab28124 100644 --- a/test/test_groups.toml +++ b/test/test_groups.toml @@ -1,6 +1,9 @@ [Core] versions = ["lts", "1", "pre"] +[QA] +versions = ["lts", "1"] + [nopre] versions = ["lts", "1"]