aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/cpp/util/windows_test_util.cc
diff options
context:
space:
mode:
authorGravatar Laszlo Csomor <laszlocsomor@google.com>2017-02-15 13:07:52 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2017-02-15 14:47:42 +0000
commitd7d4def945b38133c43e3df3ea7c450b229d2bfb (patch)
treeb370d2c91c525a692e4eee01e2fbe6331e7e1df2 /src/test/cpp/util/windows_test_util.cc
parent2a0bb37397e1354eaf06b7697913f71443332175 (diff)
Bazel client, JNI, Windows: impl. CreateJunction
Implement a CreateJunction function in the Windows JNI library. Also move a bit of code from file_windows to the JNI library, where it is (also) needed. This implementation is an improved version of `blaze_util::SymlinkDirectories` in blaze_util_windows: this version handles Windows paths as `name` and `target`, and performs more validation (e.g. on the length of `target`), plus has more comments explaining the logic. In a subsequent change I'll start using this new function in blaze_util_windows. This method will also be helpful in tests: we will no longer have to shell out to mklink. See https://github.com/bazelbuild/bazel/issues/2107 -- Change-Id: I7e9b085fdc2ba47be83da5319bded02bd323e71b Reviewed-on: https://cr.bazel.build/8892 PiperOrigin-RevId: 147585207 MOS_MIGRATED_REVID=147585207
Diffstat (limited to 'src/test/cpp/util/windows_test_util.cc')
-rw-r--r--src/test/cpp/util/windows_test_util.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/test/cpp/util/windows_test_util.cc b/src/test/cpp/util/windows_test_util.cc
index dfea7b05bb..47bdc31bbf 100644
--- a/src/test/cpp/util/windows_test_util.cc
+++ b/src/test/cpp/util/windows_test_util.cc
@@ -34,6 +34,9 @@ wstring GetTestTmpDirW() {
::GetEnvironmentVariableW(L"TEST_TMPDIR", buf.get(), size);
wstring result(buf.get());
std::replace(result.begin(), result.end(), '/', '\\');
+ if (result.back() == '\\') {
+ result.pop_back();
+ }
return result;
}