]> Kevux Git Server - fll/commitdiff
Update: Be more thorough in the f_file unit test.
authorKevin Day <thekevinday@gmail.com>
Tue, 3 Jan 2023 20:52:16 +0000 (14:52 -0600)
committerKevin Day <thekevinday@gmail.com>
Tue, 3 Jan 2023 20:52:16 +0000 (14:52 -0600)
The "*_returns_false" test is doing a more complete check but the "*_returns_true" is not.
Redesign the "*_returns_true" test to have the same structure as the "*_returns_false" test.

level_0/f_file/tests/unit/c/test-file-is.c
level_0/f_file/tests/unit/c/test-file-is_at.c

index 7a846bd5caeb63cfbb13775e9d1af41b63f0545d..ad4cd0ef5941d69bcab91ece8d2cb337c2fe419c 100644 (file)
@@ -136,21 +136,27 @@ void test__f_file_is__returns_true(void **state) {
     F_file_type_socket_d,
   };
 
-  for (int i = 0; i < 8; ++i) {
+  for (int j = 0; j < 8; ++j) {
 
     struct stat statistics;
 
     memset(&statistics, 0, sizeof(struct stat));
 
-    statistics.st_mode = 1 | types[i];
+    statistics.st_mode = 1 | types[j];
+
+    for (int i = 0; i < 8; ++i) {
+
+      // Skip what would return false.
+      if (j != i) continue;
 
-    will_return(__wrap_lstat, false);
-    will_return(__wrap_lstat, &statistics);
-    will_return(__wrap_lstat, 0);
+      will_return(__wrap_lstat, false);
+      will_return(__wrap_lstat, &statistics);
+      will_return(__wrap_lstat, 0);
 
-    const f_status_t status = f_file_is(path, types[i], F_false);
+      const f_status_t status = f_file_is(path, types[i], F_false);
 
-    assert_int_equal(status, F_true);
+      assert_int_equal(status, F_true);
+    } // for
   } // for
 }
 
index 41ed324497f6d1ef79cdbe389488e0b8c1d26e38..08684b150e244e03767078bc09c7317f4353f780 100644 (file)
@@ -123,21 +123,27 @@ void test__f_file_is_at__returns_true(void **state) {
     F_file_type_socket_d,
   };
 
-  for (int i = 0; i < 8; ++i) {
+  for (int j = 0; j < 8; ++j) {
 
     struct stat statistics;
 
     memset(&statistics, 0, sizeof(struct stat));
 
-    statistics.st_mode = 1 | types[i];
+    statistics.st_mode = 1 | types[j];
+
+    for (int i = 0; i < 8; ++i) {
+
+      // Skip what would return false.
+      if (j != i) continue;
 
-    will_return(__wrap_fstatat, false);
-    will_return(__wrap_fstatat, &statistics);
-    will_return(__wrap_fstatat, 0);
+      will_return(__wrap_fstatat, false);
+      will_return(__wrap_fstatat, &statistics);
+      will_return(__wrap_fstatat, 0);
 
-    const f_status_t status = f_file_is_at(0, path, types[i], 0);
+      const f_status_t status = f_file_is_at(0, path, types[i], 0);
 
-    assert_int_equal(status, F_true);
+      assert_int_equal(status, F_true);
+    } // for
   } // for
 }