+#define COMPARE_ACCESS_TIME_CMP(given, correct, cmp) do { \
+ NTTIME g = (given).basic_info.out.access_time; \
+ NTTIME c = (correct).basic_info.out.access_time; \
+ if (g cmp c) { \
+ torture_result(tctx, TORTURE_FAIL, __location__": wrong access_time (%s)%s %s (%s)%s", \
+ #given, nt_time_string(tctx, g), \
+ #cmp, #correct, nt_time_string(tctx, c)); \
+ ret = false; \
+ goto done; \
+ } \
+} while (0)
+#define COMPARE_ACCESS_TIME_EQUAL(given,correct) \
+ COMPARE_ACCESS_TIME_CMP(given,correct,!=)
+#define COMPARE_ACCESS_TIME_GREATER(given,correct) \
+ COMPARE_ACCESS_TIME_CMP(given,correct,<=)
+#define COMPARE_ACCESS_TIME_LESS(given,correct) \
+ COMPARE_ACCESS_TIME_CMP(given,correct,>=)
+
+#define COMPARE_BOTH_TIMES_EQUAL(given,correct) do { \
+ COMPARE_ACCESS_TIME_EQUAL(given,correct); \
+ COMPARE_WRITE_TIME_EQUAL(given,correct); \
+} while (0)
+#define COMPARE_BOTH_TIMES_GEATER(given,correct) do { \
+ COMPARE_ACCESS_TIME_GREATER(given,correct); \
+ COMPARE_WRITE_TIME_GREATER(given,correct); \
+} while (0)
+#define COMPARE_BOTH_TIMES_LESS(given,correct) do { \
+ COMPARE_ACCESS_TIME_LESS(given,correct); \
+ COMPARE_WRITE_TIME_LESS(given,correct); \
+} while (0)
+