Skip to content

Commit 5411430

Browse files
authored
Add x86 runners to CI (#529)
Excludes mac as x86 mac is tier 3 for Julia. Whether `Int64` was used or tests adapted to using `Int` was based on smallness of change. Includes workaround for Issue #530.
1 parent 575a732 commit 5411430

File tree

5 files changed

+114
-81
lines changed

5 files changed

+114
-81
lines changed

.github/workflows/CI.yml

+4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ jobs:
2222
- windows-latest
2323
arch:
2424
- x64
25+
- x86
26+
exclude:
27+
- os: macOS-latest
28+
arch: x86
2529
steps:
2630
- uses: actions/checkout@v2
2731
- uses: julia-actions/setup-julia@v1

.github/workflows/TypedSyntaxCI.yml

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
- ubuntu-latest
1919
arch:
2020
- x64
21+
- x86
2122
steps:
2223
- uses: actions/checkout@v2
2324
- uses: julia-actions/setup-julia@v1

TypedSyntax/test/runtests.jl

+17-17
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ include("test_module.jl")
349349
tsn = TypedSyntaxNode(TSN.summer_iterate, (Vector{Float64},))
350350
@test tsn.typ == Union{Int,Float64}
351351
sig, body = children(tsn)
352-
@test has_name_typ(child(body, 2, 1), :ret, Union{Nothing, Tuple{Float64, Int64}})
352+
@test has_name_typ(child(body, 2, 1), :ret, Union{Nothing, Tuple{Float64, Int}})
353353
@test has_name_typ(child(body, 3, 2, 1, 1, 1), :x, Float64)
354354

355355
# `where`, unnamed arguments, and types-as-arguments
@@ -552,7 +552,7 @@ include("test_module.jl")
552552
@test TypedSyntax.num_positional_args(tsn) == 2
553553

554554
# Display
555-
tsn = TypedSyntaxNode(TSN.mysin, (Int,))
555+
tsn = TypedSyntaxNode(TSN.mysin, (Int64,))
556556
str = sprint(tsn; context=:color=>false) do io, obj
557557
printstyled(io, obj; hide_type_stable=false)
558558
end
@@ -602,7 +602,7 @@ include("test_module.jl")
602602
end
603603
@test occursin("[1]\e[36m::Float32\e[39m", str)
604604
@test occursin("[2]\e[36m::Float32\e[39m", str)
605-
tsn = TypedSyntaxNode(TSN.simplef, (Int, Float64))
605+
tsn = TypedSyntaxNode(TSN.simplef, (Int64, Float64))
606606
str = sprint(tsn; context=:color=>false) do io, obj
607607
printstyled(io, obj; hide_type_stable=false)
608608
end
@@ -695,32 +695,32 @@ using TypedSyntax: InlayHint, Diagnostic, InlayHintKinds
695695

696696
@testset "test_vscode.jl" begin
697697
# VSCode
698-
tsn = TypedSyntaxNode(TSN.fVSCode, (Int64,))
698+
tsn = TypedSyntaxNode(TSN.fVSCode, (Int,))
699699

700700
io = IOContext(devnull, :inlay_hints=>Dict{String, Vector{InlayHint}}(), :diagnostics=>Diagnostic[])
701701
printstyled(io, tsn)
702-
@test getproperty.(first(values(io[:inlay_hints])), :kind) == [InlayHintKinds.Nothing, InlayHintKinds.Type, InlayHintKinds.Nothing] && getproperty.(first(values(io[:inlay_hints])), :label) == ["::Union{Float64, Int64}", "(", ")::Union{Float64, Int64}"]
702+
@test getproperty.(first(values(io[:inlay_hints])), :kind) == [InlayHintKinds.Nothing, InlayHintKinds.Type, InlayHintKinds.Nothing] && getproperty.(first(values(io[:inlay_hints])), :label) == ["::Union{Float64, $Int}", "(", ")::Union{Float64, $Int}"]
703703
@test length(io[:diagnostics]) == 2
704704

705705
io = IOContext(devnull, :inlay_hints=>Dict{String, Vector{InlayHint}}(), :diagnostics=>Diagnostic[])
706706
printstyled(io, tsn; hide_type_stable=false)
707-
@test getproperty.(first(values(io[:inlay_hints])), :kind) == vcat(InlayHintKinds.Type, InlayHintKinds.Nothing, repeat([InlayHintKinds.Type], 15), InlayHintKinds.Nothing) && getproperty.(first(values(io[:inlay_hints])), :label) == ["::Int64"
708-
"::Union{Float64, Int64}"
709-
"::Int64"
707+
@test getproperty.(first(values(io[:inlay_hints])), :kind) == vcat(InlayHintKinds.Type, InlayHintKinds.Nothing, repeat([InlayHintKinds.Type], 15), InlayHintKinds.Nothing) && getproperty.(first(values(io[:inlay_hints])), :label) == ["::$Int"
708+
"::Union{Float64, $Int}"
709+
"::$Int"
710710
"("
711-
"::Int64"
712-
")::Int64"
713-
"::Int64"
711+
"::$Int"
712+
")::$Int"
713+
"::$Int"
714714
"("
715-
"::Int64"
716-
")::Int64"
715+
"::$Int"
716+
")::$Int"
717717
"("
718-
"::Int64"
718+
"::$Int"
719719
"("
720-
"::Int64"
720+
"::$Int"
721721
")::Bool"
722-
"::Int64"
722+
"::$Int"
723723
"::Float64"
724-
")::Union{Float64, Int64}"]
724+
")::Union{Float64, $Int}"]
725725
@test length(io[:diagnostics]) == 2
726726
end

test/test_codeview_vscode.jl

+91-63
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ include("test_vscode_example_functions.jl")
3636

3737
fake_terminal() do term, in, out, _
3838
t = @async begin
39-
@test_nowarn descend(fib, (Int64,); terminal=term, iswarn, hide_type_stable, inlay_types_vscode, diagnostics_vscode)
39+
@test_nowarn descend(fib, (Int,); terminal=term, iswarn, hide_type_stable, inlay_types_vscode, diagnostics_vscode)
4040
end
4141
write(in, 'q')
4242
wait(t)
@@ -60,18 +60,18 @@ include("test_vscode_example_functions.jl")
6060

6161
if !hide_type_stable && inlay_types_vscode
6262
@test equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
63-
TypedSyntax.InlayHint(1, 14, "::Int64", 1)
64-
TypedSyntax.InlayHint(1, 15, "::Int64", 1)
63+
TypedSyntax.InlayHint(1, 14, "::$Int", 1)
64+
TypedSyntax.InlayHint(1, 15, "::$Int", 1)
6565
TypedSyntax.InlayHint(3, 11, "(", 1)
6666
TypedSyntax.InlayHint(3, 15, "(", 1)
67-
TypedSyntax.InlayHint(3, 16, "::Int64", 1)
68-
TypedSyntax.InlayHint(3, 20, ")::Int64", 1)
69-
TypedSyntax.InlayHint(3, 21, "::Int64", 1)
67+
TypedSyntax.InlayHint(3, 16, "::$Int", 1)
68+
TypedSyntax.InlayHint(3, 20, ")::$Int", 1)
69+
TypedSyntax.InlayHint(3, 21, "::$Int", 1)
7070
TypedSyntax.InlayHint(3, 28, "(", 1)
71-
TypedSyntax.InlayHint(3, 29, "::Int64", 1)
72-
TypedSyntax.InlayHint(3, 33, ")::Int64", 1)
73-
TypedSyntax.InlayHint(3, 34, "::Int64", 1)
74-
TypedSyntax.InlayHint(3, 34, ")::Int64", 1)
71+
TypedSyntax.InlayHint(3, 29, "::$Int", 1)
72+
TypedSyntax.InlayHint(3, 33, ")::$Int", 1)
73+
TypedSyntax.InlayHint(3, 34, "::$Int", 1)
74+
TypedSyntax.InlayHint(3, 34, ")::$Int", 1)
7575
])
7676
elseif hide_type_stable && inlay_types_vscode
7777
@test isempty(VSCodeServer.inlay_hints[1])
@@ -85,7 +85,7 @@ include("test_vscode_example_functions.jl")
8585

8686
fake_terminal() do term, in, out, _
8787
t = @async begin
88-
@test_nowarn descend(fVSCode, (Int64,); terminal=term, iswarn, hide_type_stable, inlay_types_vscode, diagnostics_vscode)
88+
@test_nowarn descend(fVSCode, (Int,); terminal=term, iswarn, hide_type_stable, inlay_types_vscode, diagnostics_vscode)
8989
end
9090
write(in, 'q')
9191
wait(t)
@@ -114,60 +114,60 @@ include("test_vscode_example_functions.jl")
114114
if !hide_type_stable && inlay_types_vscode
115115
if iswarn
116116
@test equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
117-
TypedSyntax.InlayHint(7, 18, "::Int64", 1)
118-
TypedSyntax.InlayHint(7, 19, "::Union{Float64, Int64}", nothing)
119-
TypedSyntax.InlayHint(8, 5, "::Int64", 1)
117+
TypedSyntax.InlayHint(7, 18, "::$Int", 1)
118+
TypedSyntax.InlayHint(7, 19, "::Union{Float64, $Int}", nothing)
119+
TypedSyntax.InlayHint(8, 5, "::$Int", 1)
120120
TypedSyntax.InlayHint(8, 8, "(", 1)
121-
TypedSyntax.InlayHint(8, 9, "::Int64", 1)
122-
TypedSyntax.InlayHint(8, 13, ")::Int64", 1)
123-
TypedSyntax.InlayHint(9, 5, "::Int64", 1)
121+
TypedSyntax.InlayHint(8, 9, "::$Int", 1)
122+
TypedSyntax.InlayHint(8, 13, ")::$Int", 1)
123+
TypedSyntax.InlayHint(9, 5, "::$Int", 1)
124124
TypedSyntax.InlayHint(9, 8, "(", 1)
125-
TypedSyntax.InlayHint(9, 13, "::Int64", 1)
126-
TypedSyntax.InlayHint(9, 13, ")::Int64", 1)
125+
TypedSyntax.InlayHint(9, 13, "::$Int", 1)
126+
TypedSyntax.InlayHint(9, 13, ")::$Int", 1)
127127
TypedSyntax.InlayHint(10, 11, "(", 1)
128-
TypedSyntax.InlayHint(10, 12, "::Int64", 1)
128+
TypedSyntax.InlayHint(10, 12, "::$Int", 1)
129129
TypedSyntax.InlayHint(10, 16, "(", 1)
130-
TypedSyntax.InlayHint(10, 17, "::Int64", 1)
130+
TypedSyntax.InlayHint(10, 17, "::$Int", 1)
131131
TypedSyntax.InlayHint(10, 21, ")::Bool", 1)
132-
TypedSyntax.InlayHint(10, 26, "::Int64", 1)
132+
TypedSyntax.InlayHint(10, 26, "::$Int", 1)
133133
TypedSyntax.InlayHint(10, 32, "::Float64", 1)
134-
TypedSyntax.InlayHint(10, 33, ")::Union{Float64, Int64}", nothing)
134+
TypedSyntax.InlayHint(10, 33, ")::Union{Float64, $Int}", nothing)
135135
])
136136

137137
else
138138
@test equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
139-
TypedSyntax.InlayHint(7, 18, "::Int64", 1)
140-
TypedSyntax.InlayHint(7, 19, "::Union{Float64, Int64}", 1)
141-
TypedSyntax.InlayHint(8, 5, "::Int64", 1)
139+
TypedSyntax.InlayHint(7, 18, "::$Int", 1)
140+
TypedSyntax.InlayHint(7, 19, "::Union{Float64, $Int}", 1)
141+
TypedSyntax.InlayHint(8, 5, "::$Int", 1)
142142
TypedSyntax.InlayHint(8, 8, "(", 1)
143-
TypedSyntax.InlayHint(8, 9, "::Int64", 1)
144-
TypedSyntax.InlayHint(8, 13, ")::Int64", 1)
145-
TypedSyntax.InlayHint(9, 5, "::Int64", 1)
143+
TypedSyntax.InlayHint(8, 9, "::$Int", 1)
144+
TypedSyntax.InlayHint(8, 13, ")::$Int", 1)
145+
TypedSyntax.InlayHint(9, 5, "::$Int", 1)
146146
TypedSyntax.InlayHint(9, 8, "(", 1)
147-
TypedSyntax.InlayHint(9, 13, "::Int64", 1)
148-
TypedSyntax.InlayHint(9, 13, ")::Int64", 1)
147+
TypedSyntax.InlayHint(9, 13, "::$Int", 1)
148+
TypedSyntax.InlayHint(9, 13, ")::$Int", 1)
149149
TypedSyntax.InlayHint(10, 11, "(", 1)
150-
TypedSyntax.InlayHint(10, 12, "::Int64", 1)
150+
TypedSyntax.InlayHint(10, 12, "::$Int", 1)
151151
TypedSyntax.InlayHint(10, 16, "(", 1)
152-
TypedSyntax.InlayHint(10, 17, "::Int64", 1)
152+
TypedSyntax.InlayHint(10, 17, "::$Int", 1)
153153
TypedSyntax.InlayHint(10, 21, ")::Bool", 1)
154-
TypedSyntax.InlayHint(10, 26, "::Int64", 1)
154+
TypedSyntax.InlayHint(10, 26, "::$Int", 1)
155155
TypedSyntax.InlayHint(10, 32, "::Float64", 1)
156-
TypedSyntax.InlayHint(10, 33, ")::Union{Float64, Int64}", 1)
156+
TypedSyntax.InlayHint(10, 33, ")::Union{Float64, $Int}", 1)
157157
])
158158
end
159159
elseif hide_type_stable && inlay_types_vscode
160160
if iswarn
161161
@test equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
162-
TypedSyntax.InlayHint(7, 19, "::Union{Float64, Int64}", nothing)
162+
TypedSyntax.InlayHint(7, 19, "::Union{Float64, $Int}", nothing)
163163
TypedSyntax.InlayHint(10, 11, "(", 1)
164-
TypedSyntax.InlayHint(10, 33, ")::Union{Float64, Int64}", nothing)
164+
TypedSyntax.InlayHint(10, 33, ")::Union{Float64, $Int}", nothing)
165165
])
166166
else
167167
@test equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
168-
TypedSyntax.InlayHint(7, 19, "::Union{Float64, Int64}", 1)
168+
TypedSyntax.InlayHint(7, 19, "::Union{Float64, $Int}", 1)
169169
TypedSyntax.InlayHint(10, 11, "(", 1)
170-
TypedSyntax.InlayHint(10, 33, ")::Union{Float64, Int64}", 1)
170+
TypedSyntax.InlayHint(10, 33, ")::Union{Float64, $Int}", 1)
171171
])
172172
end
173173
end
@@ -206,25 +206,33 @@ include("test_vscode_example_functions.jl")
206206
if !hide_type_stable && inlay_types_vscode
207207
@test equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
208208
TypedSyntax.InlayHint(14, 18, "::Float64", 1)
209-
TypedSyntax.InlayHint(14, 19, "::Int64", 1)
210-
TypedSyntax.InlayHint(15, 15, "::Float64", 1)
211-
TypedSyntax.InlayHint(15, 16, "::Int64", 1)
209+
TypedSyntax.InlayHint(14, 19, "::$Int", 1)
210+
TypedSyntax.InlayHint(15, 11, "::Type{$Int}", 1)
211+
TypedSyntax.InlayHint(15, 13, "::Float64", 1)
212+
TypedSyntax.InlayHint(15, 14, "::$Int", 1)
212213
TypedSyntax.InlayHint(16, 9, "::Float64", 1)
213-
TypedSyntax.InlayHint(16, 10, "::Int64", 1)
214-
])
214+
TypedSyntax.InlayHint(16, 10, "::$Int", 1)
215+
]) || equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
216+
TypedSyntax.InlayHint(14, 18, "::Float64", 1)
217+
TypedSyntax.InlayHint(14, 19, "::$Int", 1)
218+
TypedSyntax.InlayHint(15, 13, "::Float64", 1)
219+
TypedSyntax.InlayHint(15, 14, "::$Int", 1)
220+
TypedSyntax.InlayHint(16, 9, "::Float64", 1)
221+
TypedSyntax.InlayHint(16, 10, "::$Int", 1)
222+
]) # Workaround for #530
215223
elseif hide_type_stable && inlay_types_vscode
216224
@test isempty(VSCodeServer.inlay_hints[1])
217225
end
218226
end
219227
end
220228

221229
for inlay_types_vscode in (true, false), diagnostics_vscode in (true, false), iswarn in (true, false), hide_type_stable in (true, false)
222-
@testset "fibcall Int64 inlay_types_vscode=$inlay_types_vscode, diagnostics_vscode=$diagnostics_vscode, iswarn=$iswarn, hide_type_stable=$hide_type_stable" begin
230+
@testset "fibcall Int inlay_types_vscode=$inlay_types_vscode, diagnostics_vscode=$diagnostics_vscode, iswarn=$iswarn, hide_type_stable=$hide_type_stable" begin
223231
VSCodeServer.reset_test_containers()
224232

225233
fake_terminal() do term, in, out, _
226234
t = @async begin
227-
@test_nowarn descend(fibcall, (Int64,); terminal=term, iswarn, hide_type_stable, inlay_types_vscode, diagnostics_vscode)
235+
@test_nowarn descend(fibcall, (Int,); terminal=term, iswarn, hide_type_stable, inlay_types_vscode, diagnostics_vscode)
228236
end
229237
write(in, 'q')
230238
wait(t)
@@ -248,30 +256,50 @@ include("test_vscode_example_functions.jl")
248256

249257
if !hide_type_stable && inlay_types_vscode
250258
@test equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
251-
TypedSyntax.InlayHint(14, 18, "::Int64", 1)
252-
TypedSyntax.InlayHint(14, 19, "::Int64", 1)
253-
TypedSyntax.InlayHint(15, 15, "::Int64", 1)
254-
TypedSyntax.InlayHint(15, 16, "::Int64", 1)
255-
TypedSyntax.InlayHint(16, 9, "::Int64", 1)
256-
TypedSyntax.InlayHint(16, 10, "::Int64", 1)
257-
TypedSyntax.InlayHint(1, 14, "::Int64", 1)
258-
TypedSyntax.InlayHint(1, 15, "::Int64", 1)
259+
TypedSyntax.InlayHint(14, 18, "::$Int", 1)
260+
TypedSyntax.InlayHint(14, 19, "::$Int", 1)
261+
TypedSyntax.InlayHint(15, 11, "::Type{$Int}", 1)
262+
TypedSyntax.InlayHint(15, 13, "::$Int", 1)
263+
TypedSyntax.InlayHint(15, 14, "::$Int", 1)
264+
TypedSyntax.InlayHint(16, 9, "::$Int", 1)
265+
TypedSyntax.InlayHint(16, 10, "::$Int", 1)
266+
TypedSyntax.InlayHint(1, 14, "::$Int", 1)
267+
TypedSyntax.InlayHint(1, 15, "::$Int", 1)
259268
TypedSyntax.InlayHint(3, 11, "(", 1)
260269
TypedSyntax.InlayHint(3, 15, "(", 1)
261-
TypedSyntax.InlayHint(3, 16, "::Int64", 1)
262-
TypedSyntax.InlayHint(3, 20, ")::Int64", 1)
263-
TypedSyntax.InlayHint(3, 21, "::Int64", 1)
270+
TypedSyntax.InlayHint(3, 16, "::$Int", 1)
271+
TypedSyntax.InlayHint(3, 20, ")::$Int", 1)
272+
TypedSyntax.InlayHint(3, 21, "::$Int", 1)
264273
TypedSyntax.InlayHint(3, 28, "(", 1)
265-
TypedSyntax.InlayHint(3, 29, "::Int64", 1)
266-
TypedSyntax.InlayHint(3, 33, ")::Int64", 1)
267-
TypedSyntax.InlayHint(3, 34, "::Int64", 1)
268-
TypedSyntax.InlayHint(3, 34, ")::Int64", 1)
269-
])
274+
TypedSyntax.InlayHint(3, 29, "::$Int", 1)
275+
TypedSyntax.InlayHint(3, 33, ")::$Int", 1)
276+
TypedSyntax.InlayHint(3, 34, "::$Int", 1)
277+
TypedSyntax.InlayHint(3, 34, ")::$Int", 1)
278+
]) || equal_upto_ordering(first(values(VSCodeServer.inlay_hints[1])), [
279+
TypedSyntax.InlayHint(14, 18, "::$Int", 1)
280+
TypedSyntax.InlayHint(14, 19, "::$Int", 1)
281+
TypedSyntax.InlayHint(15, 13, "::$Int", 1)
282+
TypedSyntax.InlayHint(15, 14, "::$Int", 1)
283+
TypedSyntax.InlayHint(16, 9, "::$Int", 1)
284+
TypedSyntax.InlayHint(16, 10, "::$Int", 1)
285+
TypedSyntax.InlayHint(1, 14, "::$Int", 1)
286+
TypedSyntax.InlayHint(1, 15, "::$Int", 1)
287+
TypedSyntax.InlayHint(3, 11, "(", 1)
288+
TypedSyntax.InlayHint(3, 15, "(", 1)
289+
TypedSyntax.InlayHint(3, 16, "::$Int", 1)
290+
TypedSyntax.InlayHint(3, 20, ")::$Int", 1)
291+
TypedSyntax.InlayHint(3, 21, "::$Int", 1)
292+
TypedSyntax.InlayHint(3, 28, "(", 1)
293+
TypedSyntax.InlayHint(3, 29, "::$Int", 1)
294+
TypedSyntax.InlayHint(3, 33, ")::$Int", 1)
295+
TypedSyntax.InlayHint(3, 34, "::$Int", 1)
296+
TypedSyntax.InlayHint(3, 34, ")::$Int", 1)
297+
]) # Workaround for #530
270298
elseif hide_type_stable && inlay_types_vscode
271299
@test isempty(VSCodeServer.inlay_hints[1])
272300
end
273301
end
274302
end
275303
end
276304

277-
end
305+
end

test/test_vscode_example_functions.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ end
1313

1414
# exact location in file matters
1515
function fibcall(n)
16-
fib(Int64(n))
16+
fib(Int(n))
1717
fib(n)
1818
end

0 commit comments

Comments
 (0)