nsec: update staging test for GIT_USE_NSECS The index::nsec::staging_maintains_other_nanos test was created to ensure that when we stage an entry when GIT_USE_NSECS is *unset* that we truncate the index entry and do not persist the (old, invalid) nanosec values. Ensure that when GIT_USE_NSECS is *set* that we do not do that, and actually write the correct nanosecond values.
diff --git a/tests/index/nsec.c b/tests/index/nsec.c
index 5004339..244ab63 100644
--- a/tests/index/nsec.c
+++ b/tests/index/nsec.c
@@ -61,8 +61,17 @@ void test_index_nsec__staging_maintains_other_nanos(void)
cl_assert_equal_b(true, has_nsecs());
cl_assert((entry = git_index_get_bypath(repo_index, "a.txt", 0)));
+
+ /* if we are writing nanoseconds to the index, expect them to be
+ * nonzero. if we are *not*, expect that we truncated the entry.
+ */
+#ifdef GIT_USE_NSEC
+ cl_assert(entry->ctime.nanoseconds != 0);
+ cl_assert(entry->mtime.nanoseconds != 0);
+#else
cl_assert_equal_i(0, entry->ctime.nanoseconds);
cl_assert_equal_i(0, entry->mtime.nanoseconds);
+#endif
}
void test_index_nsec__status_doesnt_clear_nsecs(void)