@@ -1034,6 +1034,16 @@ end
10341034end
10351035
10361036@testset " Extensions" begin
1037+ test_ext = """
1038+ function test_ext(parent::Module, ext::Symbol)
1039+ _ext = Base.get_extension(parent, ext)
1040+ _ext isa Module || error("expected extension \$ ext to be loaded")
1041+ _pkgdir = pkgdir(_ext)
1042+ _pkgdir == pkgdir(parent) != nothing || error("unexpected extension \$ ext pkgdir path: \$ _pkgdir")
1043+ _pkgversion = pkgversion(_ext)
1044+ _pkgversion == pkgversion(parent) || error("unexpected extension \$ ext version: \$ _pkgversion")
1045+ end
1046+ """
10371047 depot_path = mktempdir ()
10381048 try
10391049 proj = joinpath (@__DIR__ , " project" , " Extensions" , " HasDepWithExtensions.jl" )
@@ -1044,16 +1054,15 @@ end
10441054 cmd = """
10451055 $load_distr
10461056 begin
1057+ $ew $test_ext
10471058 $ew push!(empty!(DEPOT_PATH), $(repr (depot_path)) )
10481059 using HasExtensions
10491060 $ew using HasExtensions
10501061 $ew Base.get_extension(HasExtensions, :Extension) === nothing || error("unexpectedly got an extension")
10511062 $ew HasExtensions.ext_loaded && error("ext_loaded set")
10521063 using HasDepWithExtensions
10531064 $ew using HasDepWithExtensions
1054- $ew Base.get_extension(HasExtensions, :Extension) isa Module || error("expected extension to load")
1055- $ew _pkgdir = pkgdir(Base.get_extension(HasExtensions, :Extension))
1056- $ew _pkgdir == pkgdir(HasExtensions) != nothing || error("unexpected extension pkgdir path")
1065+ $ew test_ext(HasExtensions, :Extension)
10571066 $ew Base.get_extension(HasExtensions, :Extension).extvar == 1 || error("extvar in Extension not set")
10581067 $ew HasExtensions.ext_loaded || error("ext_loaded not set")
10591068 $ew HasExtensions.ext_folder_loaded && error("ext_folder_loaded set")
@@ -1105,19 +1114,14 @@ end
11051114
11061115 test_ext_proj = """
11071116 begin
1117+ $test_ext
11081118 using HasExtensions
11091119 using ExtDep
1110- Base.get_extension(HasExtensions, :Extension) isa Module || error("expected extension to load")
1111- _pkgdir = pkgdir(Base.get_extension(HasExtensions, :Extension))
1112- _pkgdir == pkgdir(HasExtensions) != nothing || error("unexpected extension pkgdir path: $_pkgdir ")
1120+ test_ext(HasExtensions, :Extension)
11131121 using ExtDep2
1114- Base.get_extension(HasExtensions, :ExtensionFolder) isa Module || error("expected extension to load")
1115- _pkgdir = pkgdir(Base.get_extension(HasExtensions, :ExtensionFolder))
1116- _pkgdir == pkgdir(HasExtensions) != nothing || error("unexpected extension pkgdir path: $_pkgdir ")
1122+ test_ext(HasExtensions, :ExtensionFolder)
11171123 using ExtDep3
1118- Base.get_extension(HasExtensions, :ExtensionDep) isa Module || error("expected extension to load")
1119- _pkgdir = pkgdir(Base.get_extension(HasExtensions, :ExtensionDep))
1120- _pkgdir == pkgdir(HasExtensions) != nothing || error("unexpected extension pkgdir path: $_pkgdir ")
1124+ test_ext(HasExtensions, :ExtensionDep)
11211125 end
11221126 """
11231127 for compile in (` --compiled-modules=no` , ` ` )
0 commit comments