return i;
}
+static int long_cmp(const long actual, const long expected)
+{
+ return actual == expected;
+}
+
+static int long_equal_display_error(const LargestIntegralType actual,
+ const LargestIntegralType expected)
+{
+ if (long_cmp((const long)actual, (const long)expected))
+ return 1;
+
+ fprintf(stderr, "%ld != %ld\n",
+ (const long)actual, (const long)expected);
+ return 0;
+}
+
+void assert_long_equal(const long actual, const long expected)
+{
+ if (long_equal_display_error(
+ cast_to_largest_integral_type(actual),
+ cast_to_largest_integral_type(expected)) == 0)
+ fail();
+}
+
+void assert_time_t_equal(const time_t actual, const time_t expected)
+{
+ assert_long_equal((const long)actual, (const long)expected);
+}
+
+void assert_timespec_equal(const struct timespec *actual, const struct timespec *expected)
+{
+ assert_long_equal(actual->tv_sec, expected->tv_sec);
+ assert_long_equal(actual->tv_nsec, expected->tv_nsec);
+}
+
+void assert_oid_equal(const faultd_oid_t *actual, const faultd_oid_t *expected)
+{
+ assert_memory_equal(actual, expected, sizeof(faultd_oid_t));
+}
+
+static int uuid_cmp(const sd_id128_t *actual, const sd_id128_t *expected)
+{
+ return sd_id128_equal(*actual, *expected);
+}
+
+static int uuid_equal_display_error(const LargestIntegralType actual,
+ const LargestIntegralType expected)
+{
+ if (uuid_cmp((const sd_id128_t *)actual, (const sd_id128_t *)expected))
+ return 1;
+
+ fprintf(stderr, SD_ID128_FORMAT_STR " != " SD_ID128_FORMAT_STR "\n",
+ SD_ID128_FORMAT_VAL(*(const sd_id128_t *)actual),
+ SD_ID128_FORMAT_VAL(*(const sd_id128_t *)expected));
+ return 0;
+}
+
+void assert_uuid_equal(const sd_id128_t *actual, const sd_id128_t *expected)
+{
+ if (uuid_equal_display_error(
+ cast_to_largest_integral_type(actual),
+ cast_to_largest_integral_type(expected)) == 0)
+ fail();
+}
+
char generate_char()
{
/* generate random char in range 0x20-0x7E (' ' to '~') excluding '.' */
int faultd_object_count_children(struct faultd_object *obj);
+void assert_long_equal(const long actual, const long expected);
+void assert_time_t_equal(const time_t actual, const time_t expected);
+void assert_timespec_equal(const struct timespec *actual,
+ const struct timespec *expected);
+void assert_oid_equal(const faultd_oid_t *actual, const faultd_oid_t *expected);
+void assert_uuid_equal(const sd_id128_t *actual, const sd_id128_t *expected);
+
char generate_char();
char *generate_string(int len);
int generate_int();