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

Joel Sherrill joel at rtems.org
Wed Jun 9 15:36:48 UTC 2021


Module:    rtems
Branch:    master
Commit:    dbe355bfe79ef6a21248d210e7530274be8194fd
Changeset: http://git.rtems.org/rtems/commit/?id=dbe355bfe79ef6a21248d210e7530274be8194fd

Author:    Joel Sherrill <joel at rtems.org>
Date:      Tue Jun  8 13:14:53 2021 -0500

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

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)



More information about the vc mailing list