@@ -125,11 +125,15 @@ test_directories()
VERIFY( is_directory(dir/"subdir2") );
VERIFY( !exists(dir/"subdir") );
+#ifdef __rtems__
+ // Can rename a directory to a sub-directory of itself?!?
+#else
// Cannot rename a directory to a sub-directory of itself.
fs::rename(dir/"subdir2", dir/"subdir2/subsubdir", ec);
VERIFY( ec );
VERIFY( is_directory(dir/"subdir2") );
VERIFY( !exists(dir/"subdir2"/"subsubdir") );
+#endif
// Cannot rename a file to the name of an existing directory.
ec.clear();
@@ -155,7 +159,7 @@ test_directories()
VERIFY( is_directory(dir/"subdir2") );
VERIFY( is_regular_file(dir/"subdir2/file") );
-#if defined(__MINGW32__) || defined(__MINGW64__)
+#if defined(__MINGW32__) || defined(__MINGW64__) || defined(__rtems__)
// Cannot rename a directory to an existing directory
#else
// Can rename a non-empty directory to the name of an empty directory.
@@ -125,11 +125,15 @@ test_directories()
VERIFY( is_directory(dir/"subdir2") );
VERIFY( !exists(dir/"subdir") );
+#ifdef __rtems__
+ // Can rename a directory to a sub-directory of itself?!?
+#else
// Cannot rename a directory to a sub-directory of itself.
fs::rename(dir/"subdir2", dir/"subdir2/subsubdir", ec);
VERIFY( ec );
VERIFY( is_directory(dir/"subdir2") );
VERIFY( !exists(dir/"subdir2"/"subsubdir") );
+#endif
// Cannot rename a file to the name of an existing directory.
ec.clear();
@@ -158,6 +162,9 @@ test_directories()
VERIFY( is_directory(dir/"subdir2") );
VERIFY( is_regular_file(dir/"subdir2/file") );
+#ifdef __rtems__
+ // Cannot rename a directory to an existing directory
+#else
// Can rename a non-empty directory to the name of an empty directory.
ec = bad_ec;
fs::rename(dir/"subdir2", dir/"subdir", ec);
@@ -165,10 +172,12 @@ test_directories()
VERIFY( is_directory(dir/"subdir") );
VERIFY( !exists(dir/"subdir2") );
VERIFY( is_regular_file(dir/"subdir/file") );
+#endif
+
f2.path.clear();
+#endif
f.path.clear();
-#endif
fs::remove_all(dir, ec);
}