[PATCH] Five patches for std::experimental::filesystem
Wed Nov 2 09:09:00 GMT 2016
On 27 October 2016 at 15:34, Jonathan Wakely <firstname.lastname@example.org> wrote:
> On 26/10/16 09:24 +0200, Christophe Lyon wrote:
>> Hi Jonathan,
>> On 25 October 2016 at 17:32, Jonathan Wakely <email@example.com> wrote:
>>> Two more fixes for the filesystem TS, and improved tests.
>>> Handle negative times in filesystem::last_write_time
>>> * src/filesystem/ops.cc
>>> (last_write_time(const path&, file_time_type, error_code&)):
>>> negative times correctly.
>>> * testsuite/experimental/filesystem/operations/last_write_time.cc:
>>> Test writing file times.
>>> Fix error handling in copy_file and equivalent
>>> * src/filesystem/ops.cc (do_copy_file): Report an error if
>>> destination is not a regular file (LWG 2712).
>>> (equivalent): Fix error handling and result when only one file
>>> * testsuite/experimental/filesystem/operations/copy.cc: Remove
>>> created by tests. Test copying directories.
>>> * testsuite/experimental/filesystem/operations/copy_file.cc:
>>> files created by tests.
>>> * testsuite/experimental/filesystem/operations/equivalent.cc: New.
>>> * testsuite/experimental/filesystem/operations/is_empty.cc: New.
>>> * testsuite/experimental/filesystem/operations/read_symlink.cc:
>>> file created by test.
>>> * testsuite/experimental/filesystem/operations/remove_all.cc: New.
>>> * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
>>> file if path is non-empty, to support removal by other means.
>>> Tested x86_64-linux, committed to trunk.
>> I can see failures in
>> experimental/filesystem/operations/last_write_time.cc after your
>> committed this patch:
>> void test02(): Assertion 'last_write_time(f.path) == time' failed.
>> on arm*linux* and aarch64*linux* targets.
> That test will fail for targets where _GLIBCXX_USE_UTIMENSAT is not
> defined, as they use utime() instead which only supports second
> This should solve it, by only checking that the file times are within
> one second of the expected value.
Indeed your patch fixes the problem I reported.
Sorry for the delay, I was on holidays.
> Tested x86_64-linux, committed to trunk.
More information about the Libstdc++