Skip to content

Commit 333f5fa

Browse files
committed
Add the flag --@rules_erlang//:ct_test_windows_logdir_drive_letter
which allows customizing the drive letter used with SUBST during tests used to keep paths shorter
1 parent 3c648c6 commit 333f5fa

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

.github/workflows/test.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ jobs:
6161
startup --windows_enable_symlinks
6262
build --enable_runfiles
6363
build --color=yes
64+
build --@rules_erlang//:ct_test_windows_logdir_drive_letter=z
6465
EOF
6566
- name: TEST
6667
working-directory: test
@@ -135,6 +136,7 @@ jobs:
135136
startup --windows_enable_symlinks
136137
build --enable_runfiles
137138
build --color=yes
139+
build --@rules_erlang//:ct_test_windows_logdir_drive_letter=z
138140
EOF
139141
- name: TEST
140142
working-directory: test

BUILD.bazel

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,9 @@ string_flag(
2727
build_setting_default = "",
2828
visibility = ["//visibility:public"],
2929
)
30+
31+
string_flag(
32+
name = "ct_test_windows_logdir_drive_letter",
33+
build_setting_default = "b",
34+
visibility = ["//visibility:public"],
35+
)

private/ct.bzl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ set dir=%dir:/=\\%
173173
174174
set logdir={log_dir}
175175
set logdir=%logdir:/=\\%
176-
subst b: %logdir%
176+
subst {drive_letter}: %logdir%
177177
178178
set ERL_LIBS=%TEST_SRCDIR%/%TEST_WORKSPACE%/{erl_libs_path}
179179
set ERL_LIBS=%ERL_LIBS:/=\\%
@@ -208,19 +208,19 @@ set FILTER=-suite {suite_name}
208208
209209
if NOT [{package}] == [] cd {package}
210210
211-
if not exist "b:" mkdir b:
211+
if not exist "{drive_letter}:" mkdir {drive_letter}:
212212
213213
echo on
214214
"{erlang_home}\\bin\\ct_run" ^
215215
-no_auto_compile ^
216216
-noinput ^
217217
%FILTER% ^
218218
-dir %dir% ^
219-
-logdir b: ^
219+
-logdir {drive_letter}: ^
220220
{ct_hooks_args} ^
221221
-sname {sname}
222222
set CT_RUN_ERRORLEVEL=%ERRORLEVEL%
223-
subst b: /d
223+
subst {drive_letter}: /d
224224
exit /b %CT_RUN_ERRORLEVEL%
225225
:skip_test
226226
""".format(
@@ -232,6 +232,7 @@ exit /b %CT_RUN_ERRORLEVEL%
232232
suite_name = ctx.attr.suite_name,
233233
dir = short_dirname(ctx.files.compiled_suites[0]),
234234
log_dir = log_dir,
235+
drive_letter = ctx.attr._windows_logdir_drive_letter,
235236
ct_hooks_args = ct_hooks_args,
236237
sname = sname(ctx),
237238
test_env = "\n".join(test_env_commands),
@@ -261,6 +262,9 @@ exit /b %CT_RUN_ERRORLEVEL%
261262
ct_test = rule(
262263
implementation = _impl,
263264
attrs = {
265+
"_windows_logdir_drive_letter": attr.label(
266+
default = Label("//:ct_test_windows_logdir_drive_letter"),
267+
),
264268
"_ct_logdir": attr.label(
265269
default = Label("//:ct_logdir"),
266270
),

0 commit comments

Comments
 (0)