In a following commit we are going to port code from "t/helper/test-date.c" and "t/t0006-date.sh" to a new "t/unit-tests/t-date.c" file using the recently added unit test framework. We cannot fully port all the code from "t/helper/test-date.c" though, as the test-tool date helper is still used by a number of "t/*.sh" tests. The TIME_IS_64BIT and TIME_T_IS_64BIT prereqs are especially used by "t5000-tar-tree.sh", "t5318-commit-graph.sh" and "t5328-commit-graph-64bit-time.sh" while checking those prereqs will be required in the new "t/unit-tests/t-date.c" file too. To avoid duplicating in both "t/helper/test-date.c" and "t/unit-tests/t-date.c" the small amount of code checking these prereqs, let's move it into inline functions in "date.h". The names of these new inline functions contain "TIME_IS_64BIT" or "TIME_T_IS_64BIT" as it will simplify the macros we will use when we will port code to "t/unit-tests/t-date.c" in a following commit. Mentored-by: Christian Couder <chriscool@xxxxxxxxxxxxx> Signed-off-by: Achu Luma <ach.lumap@xxxxxxxxx> --- date.h | 6 ++++++ t/helper/test-date.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/date.h b/date.h index 6136212a19..fb70490a51 100644 --- a/date.h +++ b/date.h @@ -70,4 +70,10 @@ void datestamp(struct strbuf *out); timestamp_t approxidate_careful(const char *, int *); int date_overflows(timestamp_t date); time_t tm_to_time_t(const struct tm *tm); +static inline int check_prereq_TIME_IS_64BIT(void) { + return sizeof(timestamp_t) == 8; +} +static inline int check_prereq_TIME_T_IS_64BIT(void) { + return sizeof(time_t) == 8; +} #endif diff --git a/t/helper/test-date.c b/t/helper/test-date.c index 0683d46574..be0b8679c3 100644 --- a/t/helper/test-date.c +++ b/t/helper/test-date.c @@ -126,9 +126,9 @@ int cmd__date(int argc UNUSED, const char **argv) else if (!strcmp(*argv, "getnanos")) getnanos(argv+1); else if (!strcmp(*argv, "is64bit")) - return sizeof(timestamp_t) == 8 ? 0 : 1; + return !check_prereq_TIME_IS_64BIT(); else if (!strcmp(*argv, "time_t-is64bit")) - return sizeof(time_t) == 8 ? 0 : 1; + return !check_prereq_TIME_T_IS_64BIT(); else usage(usage_msg); return 0; -- 2.43.0.windows.1