diff --git a/test/Issue79Pkg/Project.toml b/test/Issue79Pkg/Project.toml new file mode 100644 index 00000000..dc99e6b3 --- /dev/null +++ b/test/Issue79Pkg/Project.toml @@ -0,0 +1,10 @@ +name = "Issue79Pkg" +uuid = "fa155e15-ec49-4eec-b540-f513de9043b2" +authors = ["ExplicitImports tests"] +version = "0.1.0" + +[weakdeps] +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[extensions] +LinearAlgebraExt = "LinearAlgebra" diff --git a/test/Issue79Pkg/ext/LinearAlgebraExt.jl b/test/Issue79Pkg/ext/LinearAlgebraExt.jl new file mode 100644 index 00000000..52bcaaa1 --- /dev/null +++ b/test/Issue79Pkg/ext/LinearAlgebraExt.jl @@ -0,0 +1,6 @@ +module LinearAlgebraExt + +include("SubmoduleExt.jl") +using .SubmoduleExt + +end # module LinearAlgebraExt diff --git a/test/Issue79Pkg/ext/SubmoduleExt.jl b/test/Issue79Pkg/ext/SubmoduleExt.jl new file mode 100644 index 00000000..bf9af91f --- /dev/null +++ b/test/Issue79Pkg/ext/SubmoduleExt.jl @@ -0,0 +1,7 @@ +module SubmoduleExt + +export LOCAL_CONST + +const LOCAL_CONST = 1 + +end # module SubmoduleExt diff --git a/test/Issue79Pkg/src/Issue79Pkg.jl b/test/Issue79Pkg/src/Issue79Pkg.jl new file mode 100644 index 00000000..e291d3d8 --- /dev/null +++ b/test/Issue79Pkg/src/Issue79Pkg.jl @@ -0,0 +1,3 @@ +module Issue79Pkg + +end # module Issue79Pkg diff --git a/test/issue_79_test.jl b/test/issue_79_test.jl new file mode 100644 index 00000000..11c70bbd --- /dev/null +++ b/test/issue_79_test.jl @@ -0,0 +1,10 @@ +using Issue79Pkg +using LinearAlgebra + +ext_mod = Base.get_extension(Issue79Pkg, :LinearAlgebraExt) + +@testset "extension submodule analyzable (#79)" begin + @test ext_mod !== nothing + @test isdefined(ext_mod, :SubmoduleExt) + @test check_no_implicit_imports(Issue79Pkg) === nothing +end diff --git a/test/runtests.jl b/test/runtests.jl index 5d1a14d1..d4735855 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,5 +1,6 @@ using Pkg Pkg.develop(; path=joinpath(@__DIR__, "TestPkg")) +Pkg.develop(; path=joinpath(@__DIR__, "Issue79Pkg")) Pkg.precompile() using ExplicitImports using ExplicitImports: analyze_all_names, has_ancestor, should_skip, @@ -105,6 +106,10 @@ include("issue_140.jl") (; name=:groupby, source=DataFrames.DataAPI)] end + @testset "Extension submodules (#79)" begin + include("issue_79_test.jl") + end + @testset "Field names shadowing external globals (#111)" begin include("issue_111_test.jl") end