Skip to content

Commit dd392bf

Browse files
committed
Adjust --trim tests for new functionality
1 parent f3cbeef commit dd392bf

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

Compiler/test/verifytrim.jl

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,42 @@ let infos = Any[]
1818
@test isempty(parents)
1919
end
2020

21+
make_cfunction() = @cfunction(+, Float64, (Int64,Int64))
22+
2123
# use TRIM_UNSAFE to bypass verifier inside typeinf_ext_toplevel
22-
let infos = typeinf_ext_toplevel(Any[Core.svec(Base.SecretBuffer, Tuple{Type{Base.SecretBuffer}})], [Base.get_world_counter()], TRIM_UNSAFE)
23-
@test_broken length(infos) > 4
24+
let infos = typeinf_ext_toplevel(Any[Core.svec(Ptr{Cvoid}, Tuple{typeof(make_cfunction)})], [Base.get_world_counter()], TRIM_UNSAFE)
2425
errors, parents = get_verify_typeinf_trim(infos)
2526
@test_broken isempty(errors) # missing cfunction
26-
#resize!(infos, 4)
27-
#errors, = get_verify_typeinf_trim(infos)
2827

2928
desc = only(errors)
3029
@test desc.first
3130
desc = desc.second
3231
@test desc isa CallMissing
33-
@test occursin("finalizer", desc.desc)
32+
@test occursin("cfunction", desc.desc)
3433
repr = sprint(verify_print_error, desc, parents)
3534
@test occursin(
36-
r"""^unresolved finalizer registered from statement \(Core.finalizer\)\(Base.final_shred!, %new\(\)::Base.SecretBuffer\)::Nothing
35+
r"""^unresolved cfunction from statement \$\(Expr\(:cfunction, Ptr{Nothing}, :\(\$\(QuoteNode\(\+\)\)\), Float64, :\(svec\(Int64, Int64\)::Core.SimpleVector\), :\(:ccall\)\)\)::Ptr{Nothing}
3736
Stacktrace:
38-
\[1\] finalizer\(f::typeof\(Base.final_shred!\), o::Base.SecretBuffer\)
39-
@ Base gcutils.jl:(\d+) \[inlined\]
40-
\[2\] Base.SecretBuffer\(; sizehint::Int\d\d\)
41-
@ Base secretbuffer.jl:(\d+) \[inlined\]
42-
\[3\] Base.SecretBuffer\(\)
43-
@ Base secretbuffer.jl:(\d+)
37+
\[1\] make_cfunction\(\)""", repr)
38+
39+
resize!(infos, 1)
40+
@test infos[1] isa Core.SimpleVector && infos[1][1] isa Type && infos[1][2] isa Type
41+
errors, parents = get_verify_typeinf_trim(infos)
42+
desc = only(errors)
43+
@test !desc.first
44+
desc = desc.second
45+
@test desc isa CCallableMissing
46+
@test desc.rt == Ptr{Cvoid}
47+
@test desc.sig == Tuple{typeof(make_cfunction)}
48+
@test occursin("unresolved ccallable", desc.desc)
49+
repr = sprint(verify_print_error, desc, parents)
50+
@test repr == "unresolved ccallable for Tuple{$(typeof(make_cfunction))} => Ptr{Nothing}\n\n"
51+
end
4452

45-
$""", repr)
53+
let infos = typeinf_ext_toplevel(Any[Core.svec(Base.SecretBuffer, Tuple{Type{Base.SecretBuffer}})], [Base.get_world_counter()], TRIM_UNSAFE)
54+
@test length(infos) > 4
55+
errors, parents = get_verify_typeinf_trim(infos)
56+
@test isempty(errors)
4657

4758
resize!(infos, 1)
4859
@test infos[1] isa Core.SimpleVector && infos[1][1] isa Type && infos[1][2] isa Type

0 commit comments

Comments
 (0)