diff options
-rw-r--r-- | .ci.cmake | 8 | ||||
-rw-r--r-- | include/llfio/revision.hpp | 6 | ||||
-rw-r--r-- | include/llfio/v2.0/path_view.hpp | 3 | ||||
-rw-r--r-- | test/tests/path_view.cpp | 3 |
4 files changed, 14 insertions, 6 deletions
@@ -20,8 +20,12 @@ ctest_build(TARGET _sl) set(retval 0) if(NOT CTEST_DISABLE_TESTING) if(WIN32) - # Appveyor's Windows version doesn't permit unprivileged creation of symbolic links - ctest_test(RETURN_VALUE retval EXCLUDE "shared_fs_mutex|symlink") + # Azure's Windows version doesn't permit unprivileged creation of symbolic links + if(CMAKE_GENERATOR MATCHES "Visual Studio 15 2017 Win64") + ctest_test(RETURN_VALUE retval EXCLUDE "shared_fs_mutex|symlink|process") + else() + ctest_test(RETURN_VALUE retval EXCLUDE "shared_fs_mutex|symlink") + endif() elseif("$ENV{CXX}" MATCHES "clang") # clang 10 with libc++ in C++ 20 currently segfaults ctest_test(RETURN_VALUE retval EXCLUDE "shared_fs_mutex|llfio_hl--coroutines") diff --git a/include/llfio/revision.hpp b/include/llfio/revision.hpp index 0c472f78..1b857b2b 100644 --- a/include/llfio/revision.hpp +++ b/include/llfio/revision.hpp @@ -1,4 +1,4 @@ // Note the second line of this file must ALWAYS be the git SHA, third line ALWAYS the git SHA update time -#define LLFIO_PREVIOUS_COMMIT_REF b15941ccbc9a6e77ea2614667c773534f4e6a2e7 -#define LLFIO_PREVIOUS_COMMIT_DATE "2020-11-23 12:23:16 +00:00" -#define LLFIO_PREVIOUS_COMMIT_UNIQUE b15941cc +#define LLFIO_PREVIOUS_COMMIT_REF 63cfa5af86526937360189594852605d6384dddf +#define LLFIO_PREVIOUS_COMMIT_DATE "2020-11-24 12:06:46 +00:00" +#define LLFIO_PREVIOUS_COMMIT_UNIQUE 63cfa5af diff --git a/include/llfio/v2.0/path_view.hpp b/include/llfio/v2.0/path_view.hpp index 0dbf538f..d3764496 100644 --- a/include/llfio/v2.0/path_view.hpp +++ b/include/llfio/v2.0/path_view.hpp @@ -1839,7 +1839,8 @@ public: auto sep_idx = this->_find_last_sep(); if(_npos == sep_idx) { -#if LLFIO_USING_EXPERIMENTAL_FILESYSTEM && defined(_MSC_VER) + // Sorry, this semantic is so broken that it's unwise to emulate! +#if 0 // LLFIO_USING_EXPERIMENTAL_FILESYSTEM && defined(_MSC_VER) return this->_invoke([&](const auto &v) { // MSVC's Experimental Filesystem has some really, really weird semantics :( return *this; diff --git a/test/tests/path_view.cpp b/test/tests/path_view.cpp index 7e051462..6a9f7993 100644 --- a/test/tests/path_view.cpp +++ b/test/tests/path_view.cpp @@ -56,7 +56,10 @@ static inline void CheckPathView(const LLFIO_V2_NAMESPACE::filesystem::path &pat CheckPathView(path, "filename()", [](const auto &p) { return p.filename(); }); CheckPathView(path, "stem()", [](const auto &p) { return p.stem(); }); CheckPathView(path, "extension()", [](const auto &p) { return p.extension(); }); +#if !(LLFIO_USING_EXPERIMENTAL_FILESYSTEM && defined(_MSC_VER)) + // remove_filename() is completely stupid on MSVC's Experimental Filesystem CheckPathView(path, "remove_filename()", [](auto p) { return p.remove_filename(); }); +#endif } static inline void CheckPathIteration(const LLFIO_V2_NAMESPACE::filesystem::path &path) |