aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc')
-rw-r--r--libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
index e13c4bfe0a5..5b4c573eebf 100644
--- a/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
+++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc
@@ -59,8 +59,28 @@ test01()
VERIFY( !ec );
}
+void
+test02()
+{
+#if __cpp_exceptions
+ bool test __attribute__((unused)) = false;
+
+ fs::path p = "rel", base = __gnu_test::nonexistent_path();
+ fs::path e1, e2;
+ try {
+ canonical(p, base);
+ } catch (const fs::filesystem_error& e) {
+ e1 = e.path1();
+ e2 = e.path2();
+ }
+ VERIFY( e1 == p );
+ VERIFY( e2 == base );
+#endif
+}
+
int
main()
{
test01();
+ test02();
}