Skip to content

Commit aa4dc45

Browse files
committed
Avoid rapid rebuild in test
This triggers race conditions in elixir compiler Fixes #763
1 parent 93c196f commit aa4dc45

File tree

1 file changed

+16
-58
lines changed

1 file changed

+16
-58
lines changed

apps/language_server/test/server_test.exs

Lines changed: 16 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,18 @@ defmodule ElixirLS.LanguageServer.ServerTest do
1313
end)
1414
end
1515

16-
defp initialize(server) do
16+
defp initialize(server, config \\ nil) do
1717
Server.receive_packet(server, initialize_req(1, root_uri(), %{}))
1818
Server.receive_packet(server, notification("initialized"))
1919

20+
config = (config || %{}) |> Map.merge(%{"dialyzerEnabled" => false})
21+
2022
Server.receive_packet(
2123
server,
22-
did_change_configuration(%{"elixirLS" => %{"dialyzerEnabled" => false}})
24+
did_change_configuration(%{"elixirLS" => config})
2325
)
26+
27+
wait_until_compiled(server)
2428
end
2529

2630
defp fake_initialize(server) do
@@ -968,8 +972,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
968972

969973
# File is already formatted
970974
assert response(3, []) == resp
971-
972-
wait_until_compiled(server)
973975
end)
974976
end
975977

@@ -1048,8 +1050,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
10481050
]
10491051
}),
10501052
1000
1051-
1052-
wait_until_compiled(server)
10531053
end)
10541054
end
10551055

@@ -1071,8 +1071,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
10711071
]
10721072
}),
10731073
1000
1074-
1075-
wait_until_compiled(server)
10761074
end)
10771075
end
10781076

@@ -1094,8 +1092,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
10941092
]
10951093
}),
10961094
2000
1097-
1098-
wait_until_compiled(server)
10991095
end)
11001096
end
11011097

@@ -1110,7 +1106,7 @@ defmodule ElixirLS.LanguageServer.ServerTest do
11101106
Build.set_compiler_options()
11111107

11121108
initialize(server)
1113-
wait_until_compiled(server)
1109+
11141110
Server.receive_packet(server, did_open(file_uri, "elixir", 1, text))
11151111

11161112
Server.receive_packet(
@@ -1126,8 +1122,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
11261122
"uri" => ^reference_uri
11271123
}
11281124
]) = resp
1129-
1130-
wait_until_compiled(server)
11311125
end)
11321126
after
11331127
Code.put_compiler_option(:tracers, [])
@@ -1144,7 +1138,7 @@ defmodule ElixirLS.LanguageServer.ServerTest do
11441138
Build.set_compiler_options()
11451139

11461140
initialize(server)
1147-
wait_until_compiled(server)
1141+
11481142
Server.receive_packet(server, did_open(file_uri, "elixir", 1, text))
11491143

11501144
Server.receive_packet(
@@ -1160,8 +1154,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
11601154
"uri" => ^reference_uri
11611155
}
11621156
]) = resp
1163-
1164-
wait_until_compiled(server)
11651157
end)
11661158
after
11671159
Code.put_compiler_option(:tracers, [])
@@ -1176,7 +1168,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
11761168
with_new_server(fn server ->
11771169
{:ok, _pid} = Tracer.start_link([])
11781170
initialize(server)
1179-
wait_until_compiled(server)
11801171
end)
11811172

11821173
# unload App2.Foo
@@ -1185,7 +1176,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
11851176
# re-visiting the same project
11861177
with_new_server(fn server ->
11871178
initialize(server)
1188-
wait_until_compiled(server)
11891179

11901180
file_path = "apps/app1/lib/bar.ex"
11911181
uri = SourceFile.Path.to_uri(file_path)
@@ -1230,12 +1220,7 @@ defmodule ElixirLS.LanguageServer.ServerTest do
12301220

12311221
project_dir = SourceFile.Path.absolute_from_uri(root_uri())
12321222

1233-
initialize(server)
1234-
1235-
Server.receive_packet(
1236-
server,
1237-
did_change_configuration(%{"elixirLS" => %{"enableTestLenses" => true}})
1238-
)
1223+
initialize(server, %{"enableTestLenses" => true})
12391224

12401225
Server.receive_packet(server, did_open(file_uri, "elixir", 1, text))
12411226

@@ -1282,8 +1267,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
12821267
}
12831268
}
12841269
]) = resp
1285-
1286-
wait_until_compiled(server)
12871270
end)
12881271
end
12891272

@@ -1299,17 +1282,10 @@ defmodule ElixirLS.LanguageServer.ServerTest do
12991282
text = File.read!(file_path)
13001283
project_dir = SourceFile.Path.from_uri("#{root_uri()}/apps/app1")
13011284

1302-
initialize(server)
1303-
1304-
Server.receive_packet(
1305-
server,
1306-
did_change_configuration(%{"elixirLS" => %{"enableTestLenses" => true}})
1307-
)
1285+
initialize(server, %{"enableTestLenses" => true})
13081286

13091287
Server.receive_packet(server, did_open(file_uri, "elixir", 1, text))
13101288

1311-
wait_until_compiled(server)
1312-
13131289
Server.receive_packet(
13141290
server,
13151291
code_lens_req(4, file_uri)
@@ -1391,17 +1367,10 @@ defmodule ElixirLS.LanguageServer.ServerTest do
13911367
text = File.read!(file_path)
13921368
project_dir = SourceFile.Path.from_uri(root_uri())
13931369

1394-
initialize(server)
1395-
1396-
Server.receive_packet(
1397-
server,
1398-
did_change_configuration(%{"elixirLS" => %{"enableTestLenses" => true}})
1399-
)
1370+
initialize(server, %{"enableTestLenses" => true})
14001371

14011372
Server.receive_packet(server, did_open(file_uri, "elixir", 1, text))
14021373

1403-
wait_until_compiled(server)
1404-
14051374
Server.receive_packet(
14061375
server,
14071376
code_lens_req(4, file_uri)
@@ -1460,23 +1429,14 @@ defmodule ElixirLS.LanguageServer.ServerTest do
14601429
text = File.read!(file_path)
14611430
project_dir = SourceFile.Path.from_uri("#{root_uri()}/apps/app1")
14621431

1463-
initialize(server)
1464-
1465-
Server.receive_packet(
1466-
server,
1467-
did_change_configuration(%{
1468-
"elixirLS" => %{
1469-
"enableTestLenses" => true,
1470-
"testPaths" => %{"app1" => ["custom_path"]},
1471-
"testPattern" => %{"app1" => "*_custom_test.exs"}
1472-
}
1473-
})
1474-
)
1432+
initialize(server, %{
1433+
"enableTestLenses" => true,
1434+
"testPaths" => %{"app1" => ["custom_path"]},
1435+
"testPattern" => %{"app1" => "*_custom_test.exs"}
1436+
})
14751437

14761438
Server.receive_packet(server, did_open(file_uri, "elixir", 1, text))
14771439

1478-
wait_until_compiled(server)
1479-
14801440
Server.receive_packet(
14811441
server,
14821442
code_lens_req(4, file_uri)
@@ -1541,8 +1501,6 @@ defmodule ElixirLS.LanguageServer.ServerTest do
15411501
assert_receive notification("window/logMessage", %{
15421502
"message" => "Compile took" <> _
15431503
})
1544-
1545-
wait_until_compiled(server)
15461504
end)
15471505
end
15481506

0 commit comments

Comments
 (0)