Skip to content

Commit a8e394b

Browse files
Add a test for behavior that BinaryBuilder relies on (#4332)
1 parent 542ca0c commit a8e394b

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

test/misc.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,24 @@ end
2828

2929
@test eltype([PackageSpec(a) for a in []]) == PackageSpec
3030

31+
@testset "PackageSpec version default" begin
32+
# Test that PackageSpec without explicit version gets set to VersionSpec("*")
33+
# This behavior is relied upon by BinaryBuilderBase.jl for dependency filtering
34+
# See: https://github.com/JuliaPackaging/BinaryBuilderBase.jl/blob/master/src/Prefix.jl
35+
ps = PackageSpec(name = "Example")
36+
@test ps.version == Pkg.Types.VersionSpec("*")
37+
38+
# Test with UUID as well
39+
ps_uuid = PackageSpec(name = "Example", uuid = Base.UUID("7876af07-990d-54b4-ab0e-23690620f79a"))
40+
@test ps_uuid.version == Pkg.Types.VersionSpec("*")
41+
42+
# Test that explicitly set version is preserved
43+
ps_versioned = PackageSpec(name = "Example", version = v"1.0.0")
44+
@test ps_versioned.version == v"1.0.0"
45+
46+
# Test that explicitly set versionspec (string format) is preserved
47+
ps_versioned = PackageSpec(name = "Example", version = "1.0.0")
48+
@test ps_versioned.version == "1.0.0"
49+
end
50+
3151
end # module

0 commit comments

Comments
 (0)