From d7d4def945b38133c43e3df3ea7c450b229d2bfb Mon Sep 17 00:00:00 2001 From: Laszlo Csomor Date: Wed, 15 Feb 2017 13:07:52 +0000 Subject: 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 --- src/test/cpp/util/windows_test_util.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/test/cpp/util/windows_test_util.cc') 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; } -- cgit v1.2.3