mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-11 18:17:54 +00:00
commit
c81e4adfd7
23
tests/clar.c
23
tests/clar.c
@ -65,7 +65,12 @@
|
|||||||
# ifndef PRIxZ
|
# ifndef PRIxZ
|
||||||
# define PRIxZ "Ix"
|
# define PRIxZ "Ix"
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifdef _MSC_VER
|
||||||
|
typedef struct stat STAT_T;
|
||||||
|
# else
|
||||||
typedef struct _stat STAT_T;
|
typedef struct _stat STAT_T;
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
# include <sys/wait.h> /* waitpid(2) */
|
# include <sys/wait.h> /* waitpid(2) */
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
@ -468,6 +473,24 @@ void clar__assert_equal(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(!strcmp("%.*s", fmt)) {
|
||||||
|
const char *s1 = va_arg(args, const char *);
|
||||||
|
const char *s2 = va_arg(args, const char *);
|
||||||
|
size_t len = va_arg(args, size_t);
|
||||||
|
is_equal = (!s1 || !s2) ? (s1 == s2) : !strncmp(s1, s2, len);
|
||||||
|
|
||||||
|
if (!is_equal) {
|
||||||
|
if (s1 && s2) {
|
||||||
|
size_t pos;
|
||||||
|
for (pos = 0; s1[pos] == s2[pos] && pos < len; ++pos)
|
||||||
|
/* find differing byte offset */;
|
||||||
|
p_snprintf(buf, sizeof(buf), "'%.*s' != '%.*s' (at byte %d)",
|
||||||
|
len, s1, len, s2, pos);
|
||||||
|
} else {
|
||||||
|
p_snprintf(buf, sizeof(buf), "'%.*s' != '%.*s'", len, s1, len, s2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (!strcmp("%"PRIuZ, fmt) || !strcmp("%"PRIxZ, fmt)) {
|
else if (!strcmp("%"PRIuZ, fmt) || !strcmp("%"PRIxZ, fmt)) {
|
||||||
size_t sz1 = va_arg(args, size_t), sz2 = va_arg(args, size_t);
|
size_t sz1 = va_arg(args, size_t), sz2 = va_arg(args, size_t);
|
||||||
is_equal = (sz1 == sz2);
|
is_equal = (sz1 == sz2);
|
||||||
|
@ -60,6 +60,9 @@ void cl_fixture_cleanup(const char *fixture_name);
|
|||||||
#define cl_assert_equal_s(s1,s2) clar__assert_equal(__FILE__,__LINE__,"String mismatch: " #s1 " != " #s2, 1, "%s", (s1), (s2))
|
#define cl_assert_equal_s(s1,s2) clar__assert_equal(__FILE__,__LINE__,"String mismatch: " #s1 " != " #s2, 1, "%s", (s1), (s2))
|
||||||
#define cl_assert_equal_s_(s1,s2,note) clar__assert_equal(__FILE__,__LINE__,"String mismatch: " #s1 " != " #s2 " (" #note ")", 1, "%s", (s1), (s2))
|
#define cl_assert_equal_s_(s1,s2,note) clar__assert_equal(__FILE__,__LINE__,"String mismatch: " #s1 " != " #s2 " (" #note ")", 1, "%s", (s1), (s2))
|
||||||
|
|
||||||
|
#define cl_assert_equal_strn(s1,s2,len) clar__assert_equal(__FILE__,__LINE__,"String mismatch: " #s1 " != " #s2, 1, "%.*s", (s1), (s2), (size_t)(len))
|
||||||
|
#define cl_assert_equal_strn_(s1,s2,len,note) clar__assert_equal(__FILE__,__LINE__,"String mismatch: " #s1 " != " #s2 " (" #note ")", 1, "%.*s", (s1), (s2), (size_t)(len))
|
||||||
|
|
||||||
#define cl_assert_equal_i(i1,i2) clar__assert_equal(__FILE__,__LINE__,#i1 " != " #i2, 1, "%d", (int)(i1), (int)(i2))
|
#define cl_assert_equal_i(i1,i2) clar__assert_equal(__FILE__,__LINE__,#i1 " != " #i2, 1, "%d", (int)(i1), (int)(i2))
|
||||||
#define cl_assert_equal_i_(i1,i2,note) clar__assert_equal(__FILE__,__LINE__,#i1 " != " #i2 " (" #note ")", 1, "%d", (i1), (i2))
|
#define cl_assert_equal_i_(i1,i2,note) clar__assert_equal(__FILE__,__LINE__,#i1 " != " #i2 " (" #note ")", 1, "%d", (i1), (i2))
|
||||||
#define cl_assert_equal_i_fmt(i1,i2,fmt) clar__assert_equal(__FILE__,__LINE__,#i1 " != " #i2, 1, (fmt), (int)(i1), (int)(i2))
|
#define cl_assert_equal_i_fmt(i1,i2,fmt) clar__assert_equal(__FILE__,__LINE__,#i1 " != " #i2, 1, (fmt), (int)(i1), (int)(i2))
|
||||||
|
Loading…
Reference in New Issue
Block a user