Skip to content

Commit 2c674fb

Browse files
committed
adjust tests
1 parent 2da2fe2 commit 2c674fb

File tree

1 file changed

+29
-29
lines changed

1 file changed

+29
-29
lines changed

test/codeedges.jl

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,17 @@ module ModSelective end
6161
end
6262
frame = Frame(ModSelective, ex)
6363
src = frame.framecode.src
64-
edges = CodeEdges(src)
64+
edges = CodeEdges(ModSelective, src)
6565
# Check that the result of direct evaluation agrees with selective evaluation
6666
Core.eval(ModEval, ex)
67-
isrequired = lines_required(:x, src, edges)
67+
isrequired = lines_required(GlobalRef(ModSelective, :x), src, edges)
6868
# theere is too much diversity in lowering across Julia versions to make it useful to test `sum(isrequired)`
6969
selective_eval_fromstart!(frame, isrequired)
7070
@test ModSelective.x === ModEval.x
7171
@test allmissing(ModSelective, (:y, :z, :a, :b, :k))
7272
@test !allmissing(ModSelective, (:x, :y)) # add :y here to test the `all` part of the test itself
7373
# To evaluate z we need to do all the computations for y
74-
isrequired = lines_required(:z, src, edges)
74+
isrequired = lines_required(GlobalRef(ModSelective, :z), src, edges)
7575
selective_eval_fromstart!(frame, isrequired)
7676
@test ModSelective.y === ModEval.y
7777
@test ModSelective.z === ModEval.z
@@ -82,7 +82,7 @@ module ModSelective end
8282
@test ModSelective.b === ModEval.b
8383
# Test that we get two separate evaluations of k
8484
@test allmissing(ModSelective, (:k,))
85-
isrequired = lines_required(:k, src, edges)
85+
isrequired = lines_required(GlobalRef(ModSelective, :k), src, edges)
8686
selective_eval_fromstart!(frame, isrequired)
8787
@test ModSelective.k != ModEval.k
8888

@@ -101,8 +101,8 @@ module ModSelective end
101101
end
102102
frame = Frame(ModSelective, ex)
103103
src = frame.framecode.src
104-
edges = CodeEdges(src)
105-
isrequired = lines_required(:a2, src, edges)
104+
edges = CodeEdges(ModSelective, src)
105+
isrequired = lines_required(GlobalRef(ModSelective, :a2), src, edges)
106106
selective_eval_fromstart!(frame, isrequired, #=istoplevel=#true)
107107
Core.eval(ModEval, ex)
108108
@test ModSelective.a2 === ModEval.a2 == 1
@@ -122,8 +122,8 @@ module ModSelective end
122122
end
123123
frame = Frame(ModSelective, ex)
124124
src = frame.framecode.src
125-
edges = CodeEdges(src)
126-
isrequired = lines_required(:a3, src, edges)
125+
edges = CodeEdges(ModSelective, src)
126+
isrequired = lines_required(GlobalRef(ModSelective, :a3), src, edges)
127127
selective_eval_fromstart!(frame, isrequired)
128128
Core.eval(ModEval, ex)
129129
@test ModSelective.a3 === ModEval.a3 == 2
@@ -141,8 +141,8 @@ module ModSelective end
141141
end
142142
frame = Frame(ModSelective, ex)
143143
src = frame.framecode.src
144-
edges = CodeEdges(src)
145-
isrequired = lines_required(:valcf, src, edges)
144+
edges = CodeEdges(ModSelective, src)
145+
isrequired = lines_required(GlobalRef(ModSelective, :valcf), src, edges)
146146
selective_eval_fromstart!(frame, isrequired)
147147
@test ModSelective.valcf == 4
148148

@@ -158,8 +158,8 @@ module ModSelective end
158158
end
159159
frame = Frame(ModSelective, ex)
160160
src = frame.framecode.src
161-
edges = CodeEdges(src)
162-
isrequired = lines_required(:c_os, src, edges)
161+
edges = CodeEdges(ModSelective, src)
162+
isrequired = lines_required(GlobalRef(ModSelective, :c_os), src, edges)
163163
@test sum(isrequired) >= length(isrequired) - 3
164164
selective_eval_fromstart!(frame, isrequired)
165165
Core.eval(ModEval, ex)
@@ -179,7 +179,7 @@ module ModSelective end
179179
@test ModEval.bar() == 1
180180
frame = Frame(ModSelective, ex)
181181
src = frame.framecode.src
182-
edges = CodeEdges(src)
182+
edges = CodeEdges(ModSelective, src)
183183
# Mark just the load of Core.eval
184184
haseval(stmt) = (isa(stmt, Expr) && JuliaInterpreter.hasarg(isequal(:eval), stmt.args)) ||
185185
(isa(stmt, Expr) && stmt.head === :call && is_quotenode(stmt.args[1], Core.eval))
@@ -210,8 +210,8 @@ module ModSelective end
210210
@test ModSelective.k11 == 11
211211
@test 3 <= ModSelective.s11 <= 15
212212
Core.eval(ModSelective, :(k11 = 0; s11 = -1))
213-
edges = CodeEdges(frame.framecode.src)
214-
isrequired = lines_required(:s11, frame.framecode.src, edges)
213+
edges = CodeEdges(ModSelective, frame.framecode.src)
214+
isrequired = lines_required(GlobalRef(ModSelective, :s11), frame.framecode.src, edges)
215215
selective_eval_fromstart!(frame, isrequired, true)
216216
@test ModSelective.k11 == 0
217217
@test 3 <= ModSelective.s11 <= 15
@@ -220,7 +220,7 @@ module ModSelective end
220220
ex = :(abstract type StructParent{T, N} <: AbstractArray{T, N} end)
221221
frame = Frame(ModSelective, ex)
222222
src = frame.framecode.src
223-
edges = CodeEdges(src)
223+
edges = CodeEdges(ModSelective, src)
224224
# Check that the StructParent name is discovered everywhere it is used
225225
var = edges.byname[:StructParent]
226226
isrequired = minimal_evaluation(hastrackedexpr, src, edges)
@@ -230,7 +230,7 @@ module ModSelective end
230230
Core.eval(ModEval, ex)
231231
frame = Frame(ModEval, ex)
232232
src = frame.framecode.src
233-
edges = CodeEdges(src)
233+
edges = CodeEdges(ModEval, src)
234234
isrequired = minimal_evaluation(hastrackedexpr, src, edges)
235235
selective_eval_fromstart!(frame, isrequired, true)
236236
@test supertype(ModEval.StructParent) === AbstractArray
@@ -240,7 +240,7 @@ module ModSelective end
240240
ex = :(struct NoParam end)
241241
frame = Frame(ModSelective, ex)
242242
src = frame.framecode.src
243-
edges = CodeEdges(src)
243+
edges = CodeEdges(ModSelective, src)
244244
isrequired = minimal_evaluation(stmt->(LoweredCodeUtils.ismethod_with_name(src, stmt, "NoParam"),false), src, edges) # initially mark only the constructor
245245
selective_eval_fromstart!(frame, isrequired, true)
246246
@test isa(ModSelective.NoParam(), ModSelective.NoParam)
@@ -252,7 +252,7 @@ module ModSelective end
252252
end
253253
frame = Frame(ModSelective, ex)
254254
src = frame.framecode.src
255-
edges = CodeEdges(src)
255+
edges = CodeEdges(ModSelective, src)
256256
isrequired = minimal_evaluation(stmt->(LoweredCodeUtils.ismethod_with_name(src, stmt, "Struct"),false), src, edges) # initially mark only the constructor
257257
selective_eval_fromstart!(frame, isrequired, true)
258258
@test isa(ModSelective.Struct([1,2,3]), ModSelective.Struct{Int})
@@ -269,7 +269,7 @@ module ModSelective end
269269
end
270270
frame = Frame(ModSelective, ex)
271271
src = frame.framecode.src
272-
edges = CodeEdges(src)
272+
edges = CodeEdges(ModSelective, src)
273273
isrequired = minimal_evaluation(stmt->(LoweredCodeUtils.ismethod3(stmt),false), src, edges) # initially mark only the constructor
274274
selective_eval_fromstart!(frame, isrequired, true)
275275
kws = ModSelective.KWStruct(y=5.0f0)
@@ -279,7 +279,7 @@ module ModSelective end
279279
ex = :(max_values(T::Union{map(X -> Type{X}, Base.BitIntegerSmall_types)...}) = 1 << (8*sizeof(T)))
280280
frame = Frame(ModSelective, ex)
281281
src = frame.framecode.src
282-
edges = CodeEdges(src)
282+
edges = CodeEdges(ModSelective, src)
283283
isrequired = fill(false, length(src.code))
284284
@assert Meta.isexpr(src.code[end-1], :method, 3)
285285
isrequired[end-1] = true
@@ -297,7 +297,7 @@ module ModSelective end
297297
Core.eval(ModEval, ex)
298298
frame = Frame(ModEval, ex)
299299
src = frame.framecode.src
300-
edges = CodeEdges(src)
300+
edges = CodeEdges(ModEval, src)
301301
isrequired = minimal_evaluation(stmt->(LoweredCodeUtils.ismethod3(stmt),false), src, edges; norequire=exclude_named_typedefs(src, edges)) # initially mark only the constructor
302302
bbs = Core.Compiler.compute_basic_blocks(src.code)
303303
for (iblock, block) in enumerate(bbs.blocks)
@@ -320,8 +320,8 @@ module ModSelective end
320320
end
321321
end)
322322
src = thk.args[1]
323-
edges = CodeEdges(src)
324-
lr = lines_required(:revise538, src, edges)
323+
edges = CodeEdges(ModEval, src)
324+
lr = lines_required(GlobalRef(ModEval, :revise538), src, edges)
325325
selective_eval_fromstart!(Frame(ModEval, src), lr, #=istoplevel=#true)
326326
@test isdefined(ModEval, :revise538) && length(methods(ModEval.revise538, (Float32,))) == 1
327327

@@ -334,7 +334,7 @@ module ModSelective end
334334
end
335335
end)
336336
src = thk.args[1]
337-
edges = CodeEdges(src)
337+
edges = CodeEdges(Main, src)
338338
idx = findfirst(stmt->Meta.isexpr(stmt, :method), src.code)
339339
lr = lines_required(idx, src, edges; norequire=exclude_named_typedefs(src, edges))
340340
idx = findfirst(stmt->Meta.isexpr(stmt, :(=)) && Meta.isexpr(stmt.args[2], :call) && is_global_ref(stmt.args[2].args[1], Core, :Box), src.code)
@@ -345,7 +345,7 @@ module ModSelective end
345345
primitive type WindowsRawSocket sizeof(Ptr) * 8 end
346346
end)
347347
src = thk.args[1]
348-
edges = CodeEdges(src)
348+
edges = CodeEdges(Main, src)
349349
idx = findfirst(istypedef, src.code)
350350
r = LoweredCodeUtils.typedef_range(src, idx)
351351
@test last(r) == length(src.code) - 1
@@ -397,7 +397,7 @@ module ModSelective end
397397
@test occursin("No IR statement printer", str)
398398
end
399399
# CodeEdges
400-
edges = CodeEdges(src)
400+
edges = CodeEdges(Main, src)
401401
show(io, edges)
402402
str = String(take!(io))
403403
if Base.VERSION < v"1.10"
@@ -424,7 +424,7 @@ module ModSelective end
424424
end
425425
# Works with Frames too
426426
frame = Frame(ModSelective, ex)
427-
edges = CodeEdges(frame.framecode.src)
427+
edges = CodeEdges(ModSelective, frame.framecode.src)
428428
LoweredCodeUtils.print_with_code(io, frame, edges)
429429
str = String(take!(io))
430430
if isdefined(Base.IRShow, :show_ir_stmt)
@@ -464,7 +464,7 @@ end
464464
lwr = Meta.lower(m, ex)
465465
src = first(lwr.args)
466466
stmts = src.code
467-
edges = CodeEdges(src)
467+
edges = CodeEdges(m, src)
468468

469469
isrq = lines_required!(istypedef.(stmts), src, edges)
470470
frame = Frame(m, src)

0 commit comments

Comments
 (0)