[gcc r14-11491] libstdc++: Add testcase for std::filesystem::copy [PR118699]
Jonathan Wakely
redi@gcc.gnu.org
Tue Apr 1 09:13:50 GMT 2025
https://gcc.gnu.org/g:5eb93522a661481caa53d4d1a716888b5b11f4da
commit r14-11491-g5eb93522a661481caa53d4d1a716888b5b11f4da
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Jan 30 17:02:47 2025 +0000
libstdc++: Add testcase for std::filesystem::copy [PR118699]
This was fixed last year by r15-2409-g017e3f89b081e4 (and backports), so
just add the testcase.
libstdc++-v3/ChangeLog:
PR libstdc++/118699
* testsuite/27_io/filesystem/operations/copy.cc: Check copying a
file to a directory.
(cherry picked from commit 466da4baba46608882d16d121fa46d33f841bc7b)
Diff:
---
.../testsuite/27_io/filesystem/operations/copy.cc | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc
index 893f32297ae7..7983e1e08dea 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/copy.cc
@@ -228,6 +228,23 @@ test_pr99290()
remove_all(dir);
}
+void
+test_pr118699()
+{
+ auto dir = __gnu_test::nonexistent_path();
+ fs::create_directories(dir/"a");
+ fs::create_directories(dir/"c");
+ std::ofstream{dir/"a/b.txt"} << "b";
+ std::ofstream{dir/"a/bb.txt"} << "bb";
+
+ fs::copy(dir/"a/b.txt", dir/"c");
+ auto ec = make_error_code(std::errc::invalid_argument);
+ fs::copy(dir/"a/bb.txt", dir/"c", ec);
+ VERIFY( !ec );
+
+ remove_all(dir);
+}
+
int
main()
{
@@ -237,4 +254,5 @@ main()
test04();
test05();
test_pr99290();
+ test_pr118699();
}
More information about the Libstdc++-cvs
mailing list