[PATCH] fsnofs01/init.c: Check for ENOENT from utime().

Joel Sherrill joel at rtems.org
Tue Jun 8 18:16:49 UTC 2021


The addition of the entire *utime*() family of functions resulted
in this call returning ENOENT not ENXIO. This is better aligned
with the POSIX definition of the methods.
---
 testsuites/fstests/fsnofs01/init.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/testsuites/fstests/fsnofs01/init.c b/testsuites/fstests/fsnofs01/init.c
index 6260697..659ee44 100644
--- a/testsuites/fstests/fsnofs01/init.c
+++ b/testsuites/fstests/fsnofs01/init.c
@@ -187,7 +187,6 @@ static void test_path_ops(void)
   char buf [32];
   ssize_t n = 0;
   const char *path = "/";
-  const struct utimbuf times;
 
   errno = 0;
   rv = open(path, O_RDONLY);
@@ -294,10 +293,14 @@ static void test_path_ops(void)
   rtems_test_assert(rv == -1);
   rtems_test_assert(errno == ENXIO);
 
+  /*
+   * Pass in NULL so the new access and modification time are interpreted
+   * as being the current time. Otherwise, the value has to be validated.
+   */
   errno = 0;
-  rv = utime(path, &times);
+  rv = utime(path, NULL);
   rtems_test_assert(rv == -1);
-  rtems_test_assert(errno == ENXIO);
+  rtems_test_assert(errno == ENOENT);
 }
 
 static void test_user_env(void)
-- 
1.8.3.1



More information about the devel mailing list