ensure first_log isn't null after append
This commit is contained in:
parent
c0f28d41b0
commit
9f4a51d8c7
|
@ -42,12 +42,21 @@ test_append_test_log(TestState *s)
|
||||||
// Local Functions
|
// Local Functions
|
||||||
|
|
||||||
static void
|
static void
|
||||||
append_to_empty(TestState *)
|
append_to_empty(TestState *s)
|
||||||
{
|
{
|
||||||
TestState test;
|
TestState test;
|
||||||
print("\tappend to empty\n");
|
print("\tappend to empty\n");
|
||||||
mk_sample_state(&test);
|
mk_sample_state(&test);
|
||||||
append_test_log(&test, "foo");
|
append_test_log(&test, "foo");
|
||||||
|
|
||||||
|
// first_log shouldn't be null
|
||||||
|
print("\t\tfirst_log\n");
|
||||||
|
chk_ptr_ne(
|
||||||
|
s,
|
||||||
|
"ERROR: append_test_log(): append to empty: first_log:",
|
||||||
|
test.first_log,
|
||||||
|
0
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//jl
|
//jl
|
||||||
|
|
34
test/util.c
34
test/util.c
|
@ -110,8 +110,9 @@ static void chk_TestState_ptr_eq(
|
||||||
const TestState *
|
const TestState *
|
||||||
);
|
);
|
||||||
|
|
||||||
decl_test(chk_int_eq_test);
|
decl_test(chk_int_eq_test); // ensure ints are equal
|
||||||
decl_test(chk_ptr_eq_test);
|
decl_test(chk_ptr_eq_test); // ensure pointers are equal
|
||||||
|
decl_test(chk_ptr_ne_test); // ensure pointers are not equal
|
||||||
|
|
||||||
// Public Functions
|
// Public Functions
|
||||||
|
|
||||||
|
@ -179,6 +180,24 @@ chk_ptr_eq(
|
||||||
s->ptr = old_ptr;
|
s->ptr = old_ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
chk_ptr_ne(
|
||||||
|
TestState *s,
|
||||||
|
const char *context,
|
||||||
|
const void *actual,
|
||||||
|
const void *prohibited
|
||||||
|
)
|
||||||
|
{
|
||||||
|
void *old_ptr = s->ptr;
|
||||||
|
ComparePtrs cp;
|
||||||
|
cp.context = context;
|
||||||
|
cp.chk_val = actual;
|
||||||
|
cp.ref_val = prohibited;
|
||||||
|
s->ptr = &cp;
|
||||||
|
run_test(s, chk_ptr_ne_test);
|
||||||
|
s->ptr = old_ptr;
|
||||||
|
}
|
||||||
|
|
||||||
// Local Functions
|
// Local Functions
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -319,4 +338,15 @@ def_test(chk_ptr_eq_test, s)
|
||||||
return test_failure;
|
return test_failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def_test(chk_ptr_ne_test, s)
|
||||||
|
{
|
||||||
|
const ComparePtrs *cp = s->ptr;
|
||||||
|
if (cp->chk_val != cp->ref_val) return test_success;
|
||||||
|
char str[STR_BUF_SIZE];
|
||||||
|
append_test_log(s, cp->context);
|
||||||
|
snprintf(str, STR_BUF_SIZE, "\tcannot be: 0x%x", cp->ref_val);
|
||||||
|
append_test_log(s, str);
|
||||||
|
return test_failure;
|
||||||
|
}
|
||||||
|
|
||||||
//jl
|
//jl
|
||||||
|
|
12
test/util.h
12
test/util.h
|
@ -48,8 +48,16 @@ extern void chk_int_eq(
|
||||||
extern void chk_ptr_eq(
|
extern void chk_ptr_eq(
|
||||||
TestState *,
|
TestState *,
|
||||||
const char *, // the error context
|
const char *, // the error context
|
||||||
void *, // the actual value
|
const void *, // the actual value
|
||||||
void * // the expected value
|
const void * // the expected value
|
||||||
|
);
|
||||||
|
|
||||||
|
// ensure two pointers are not equal
|
||||||
|
extern void chk_ptr_ne(
|
||||||
|
TestState *,
|
||||||
|
const char *, // the error context
|
||||||
|
const void *, // the actual value
|
||||||
|
const void * // the prohibited value
|
||||||
);
|
);
|
||||||
|
|
||||||
//jl
|
//jl
|
||||||
|
|
Loading…
Reference in New Issue
Block a user