Skip to content

Commit e0cad46

Browse files
committed
windows pt1
1 parent 72cddd3 commit e0cad46

File tree

4 files changed

+45
-48
lines changed

4 files changed

+45
-48
lines changed

edb/src/edb_dap.erl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,11 @@ decode_frames(Data) ->
101101

102102
-spec decode_frames(binary(), [frame()]) -> {[frame()], binary()}.
103103
decode_frames(Data, Messages) ->
104-
case binary:split(Data, <<"\r\n\r\n">>) of
104+
Separator = case os:type() of
105+
{win32, _} -> [<<"\r\n\r\n">>, <<"\n\n">>];
106+
_ -> <<"\r\n\r\n">>
107+
end,
108+
case binary:split(Data, Separator) of
105109
[<<"Content-Length: ", BinLength/binary>>, Rest] when is_binary(Rest) ->
106110
Length = binary_to_integer(BinLength),
107111
case byte_size(Rest) < Length of

edb/test/edb_dap_test_client.erl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@
6060
handle_info/2
6161
]).
6262

63+
-define(ESCRIPT, "escript").
64+
6365
-type awaitable_key() :: {event, edb_dap:event_type()} | {reverse_request, edb_dap:command()}.
6466
-type awaitable() :: edb_dap:event() | edb_dap:request().
6567

@@ -187,8 +189,8 @@ respond_success(Client, ReverseRequest, ResponseBody) ->
187189
init(#{executable := Executable, args := Args}) ->
188190
{Opts, SpawnExec} = case os:type() of
189191
{win32, _} ->
190-
CmdArgs = ["/C", "edb.cmd" | Args],
191-
{[{args, CmdArgs}, exit_status, eof, binary, stream, use_stdio], "cmd.exe"};
192+
CmdArgs = [Executable | Args],
193+
{[{args, CmdArgs}, exit_status, eof, binary, stream, use_stdio], ?ESCRIPT};
192194
_ ->
193195
{[{args, Args}, exit_status, eof, binary, stream, use_stdio], Executable}
194196
end,

edb/test/edb_main_SUITE.erl

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,14 @@ escript_executable(Config) ->
5757
Escript = filename:join([DataDir, ?EDB]),
5858
?assert(filelib:is_file(Escript), "Escript should exists"),
5959
{ok, FileInfo} = file:read_file_info(Escript),
60-
case FileInfo#file_info.mode of
61-
Mode when is_integer(Mode) ->
62-
?assertEqual(8#111, Mode band 8#111, "Escript should be executable")
60+
case os:type() of
61+
{win32, _} ->
62+
ok;
63+
_ ->
64+
case FileInfo#file_info.mode of
65+
Mode when is_integer(Mode) ->
66+
?assertEqual(8#111, Mode band 8#111, "Escript should be executable")
67+
end
6368
end.
6469

6570
escript_dap(Config) ->

rebar.config

Lines changed: 28 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -80,85 +80,71 @@
8080

8181
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_attach_SUITE_data"},
8282
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_attach_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_attach_SUITE_data"},
83-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_attach_SUITE_data"},
84-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_attach_SUITE_data"},
85-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_attach_SUITE_data"},
83+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_attach_SUITE_data/edb"},
84+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_attach_SUITE_data\\edb _build\\default\\bin\\edb"},
8685

8786
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_configuration_phase_SUITE_data"},
8887
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_configuration_phase_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_configuration_phase_SUITE_data"},
89-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_configuration_phase_SUITE_data"},
90-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_configuration_phase_SUITE_data"},
91-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_configuration_phase_SUITE_data"},
88+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_configuration_phase_SUITE_data/edb"},
89+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_configuration_phase_SUITE_data\\edb _build\\default\\bin\\edb"},
9290

9391
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_evaluate_SUITE_data"},
9492
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_evaluate_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_evaluate_SUITE_data"},
95-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_evaluate_SUITE_data"},
96-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_evaluate_SUITE_data"},
97-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_evaluate_SUITE_data"},
93+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_evaluate_SUITE_data/edb"},
94+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_evaluate_SUITE_data\\edb _build\\default\\bin\\edb"},
9895

9996
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_id_mappings_SUITE_data"},
10097
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_id_mappings_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_id_mappings_SUITE_data"},
101-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_id_mappings_SUITE_data"},
102-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_id_mappings_SUITE_data"},
103-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_id_mappings_SUITE_data"},
98+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_id_mappings_SUITE_data/edb"},
99+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_id_mappings_SUITE_data\\edb _build\\default\\bin\\edb"},
104100

105101
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_launch_SUITE_data"},
106102
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_launch_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_launch_SUITE_data"},
107-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_launch_SUITE_data"},
108-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_launch_SUITE_data"},
109-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_launch_SUITE_data"},
103+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_launch_SUITE_data/edb"},
104+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_launch_SUITE_data\\edb _build\\default\\bin\\edb"},
110105

111106
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_parse_SUITE_data"},
112107
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_parse_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_parse_SUITE_data"},
113-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_parse_SUITE_data"},
114-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_parse_SUITE_data"},
115-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_parse_SUITE_data"},
108+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_parse_SUITE_data/edb"},
109+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_parse_SUITE_data\\edb _build\\default\\bin\\edb"},
116110

117111
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_pause_SUITE_data"},
118112
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_pause_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_pause_SUITE_data"},
119-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_pause_SUITE_data"},
120-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_pause_SUITE_data"},
121-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_pause_SUITE_data"},
113+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_pause_SUITE_data/edb"},
114+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_pause_SUITE_data\\edb _build\\default\\bin\\edb"},
122115

123116
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_request_launch_arguments_SUITE_data"},
124117
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_request_launch_arguments_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_request_launch_arguments_SUITE_data"},
125-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_request_launch_arguments_SUITE_data"},
126-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_request_launch_arguments_SUITE_data"},
127-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_request_launch_arguments_SUITE_data"},
118+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_request_launch_arguments_SUITE_data/edb"},
119+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_request_launch_arguments_SUITE_data\\edb _build\\default\\bin\\edb"},
128120

129121
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_scopes_SUITE_data"},
130122
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_scopes_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_scopes_SUITE_data"},
131-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_scopes_SUITE_data"},
132-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_scopes_SUITE_data"},
133-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_scopes_SUITE_data"},
123+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_scopes_SUITE_data/edb"},
124+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_scopes_SUITE_data\\edb _build\\default\\bin\\edb"},
134125

135126
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_session_SUITE_data"},
136127
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_session_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_session_SUITE_data"},
137-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_session_SUITE_data"},
138-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_session_SUITE_data"},
139-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_session_SUITE_data"},
128+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_session_SUITE_data/edb"},
129+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_session_SUITE_data\\edb _build\\default\\bin\\edb"},
140130

141131
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_set_breakpoints_SUITE_data"},
142132
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_set_breakpoints_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_set_breakpoints_SUITE_data"},
143-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_set_breakpoints_SUITE_data"},
144-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_set_breakpoints_SUITE_data"},
145-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_set_breakpoints_SUITE_data"},
133+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_set_breakpoints_SUITE_data/edb"},
134+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_set_breakpoints_SUITE_data\\edb _build\\default\\bin\\edb"},
146135

147136
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_steps_SUITE_data"},
148137
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_steps_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_steps_SUITE_data"},
149-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_steps_SUITE_data"},
150-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_steps_SUITE_data"},
151-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_steps_SUITE_data"},
138+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_steps_SUITE_data/edb"},
139+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_steps_SUITE_data\\edb _build\\default\\bin\\edb"},
152140

153141
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_dap_utils_SUITE_data"},
154142
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_dap_utils_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_dap_utils_SUITE_data"},
155-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_dap_utils_SUITE_data"},
156-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_dap_utils_SUITE_data"},
157-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_dap_utils_SUITE_data"},
143+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_dap_utils_SUITE_data/edb"},
144+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_dap_utils_SUITE_data\\edb _build\\default\\bin\\edb"},
158145

159146
{"(linux|darwin|solaris|freebsd)", ct, "mkdir -p _build/test/lib/edb/test/edb_main_SUITE_data"},
160147
{"win32", ct, "if not exist _build\\test\\lib\\edb\\test\\edb_main_SUITE_data mkdir _build\\test\\lib\\edb\\test\\edb_main_SUITE_data"},
161-
{"(linux|darwin|solaris|freebsd)", ct, "cp _build/default/bin/edb _build/test/lib/edb/test/edb_main_SUITE_data"},
162-
{"win32", ct, "copy _build\\default\\bin\\edb _build\\test\\lib\\edb\\test\\edb_main_SUITE_data"},
163-
{"win32", ct, "copy _build\\default\\bin\\edb.cmd _build\\test\\lib\\edb\\test\\edb_main_SUITE_data"}
148+
{"(linux|darwin|solaris|freebsd)", ct, "ln -f _build/default/bin/edb _build/test/lib/edb/test/edb_main_SUITE_data/edb"},
149+
{"win32", ct, "mklink /H _build\\test\\lib\\edb\\test\\edb_main_SUITE_data\\edb _build\\default\\bin\\edb"}
164150
]}.

0 commit comments

Comments
 (0)