47 ABTS_ASSERT(tc,
"first bucket of empty brigade is sentinel",
62 ABTS_ASSERT(tc,
"bucket before flush now transient",
66 ABTS_ASSERT(tc,
"bucket before transient is sentinel",
105 sprintf(msg,
"%s: length match (%ld not %ld)",
ctx,
108 sprintf(msg,
"%s: result match", msg);
152 ABTS_ASSERT(tc,
"split brigade contains one bucket",
154 ABTS_ASSERT(tc,
"original brigade contains one bucket",
166#define THESTR "hello"
197 "end of line.\nfoo foo foo");
234 char *
str =
"alphabeta";
299 "beta" "beta" "beta" "beta");
305#define TIF_FNAME "testfile.txt"
333 ABTS_ASSERT(tc,
"inserted file was not at end of brigade",
365 const char *contents)
387 "world" "hello" "brave" " ,\n");
399 "hello, brave world\n");
434 ABTS_ASSERT(tc,
"still a single bucket in brigade",
442static const char hello[] =
"hello, world";
462 ABTS_ASSERT(tc,
"partition returns APR_INCOMPLETE",
465 ABTS_ASSERT(tc,
"APR_INCOMPLETE partition returned sentinel",
498 const char *
expect =
"123456789abcdefghij";
504 "e",
"f",
"gh",
"i",
NULL);
const char apr_size_t len
void abts_run_test(abts_suite *ts, test_func f, void *value)
#define ABTS_NOT_IMPL(a, b)
#define ABTS_STR_NEQUAL(a, b, c, d)
#define ABTS_ASSERT(a, b, c)
void apr_assert_success(abts_case *tc, const char *context, apr_status_t rv, int lineno)
APR-UTIL Buckets/Bucket Brigades.
char * strdup(const char *str)
const unsigned char * buf
#define APR_BRIGADE_LAST(b)
#define APR_BRIGADE_INSERT_TAIL(b, e)
#define apr_bucket_split(e, point)
#define APR_BRIGADE_INSERT_HEAD(b, e)
#define APR_BUCKET_NEXT(e)
#define APR_BRIGADE_EMPTY(b)
#define APR_BRIGADE_SENTINEL(b)
#define apr_bucket_delete(e)
apr_brigade_flush void * ctx
#define APR_BRIGADE_FIRST(b)
#define APR_BUCKET_INSERT_BEFORE(a, b)
#define apr_bucket_read(e, str, len, block)
#define APR_BUCKET_PREV(e)
#define APR_FOPEN_TRUNCATE
const apr_array_header_t * first
const apr_array_header_t const apr_array_header_t * second
static void test_write_putstrs(abts_case *tc, void *data)
static apr_bucket_brigade * make_simple_brigade(apr_bucket_alloc_t *ba, const char *first, const char *second)
static void test_create(abts_case *tc, void *data)
static void test_bucket_content(abts_case *tc, apr_bucket *e, const char *edata, apr_size_t elen)
static void test_manyfile(abts_case *tc, void *data)
static const char hello[]
static void test_flatten(abts_case *tc, void *data)
static void test_splits(abts_case *tc, void *ctx)
static void test_truncfile(abts_case *tc, void *data)
static void test_write_split(abts_case *tc, void *data)
static void test_insertfile(abts_case *tc, void *ctx)
abts_suite * testbuckets(abts_suite *suite)
static void test_bwrite(abts_case *tc, void *data)
static void test_splitline(abts_case *tc, void *data)
static int count_buckets(apr_bucket_brigade *bb)
static void test_simple(abts_case *tc, void *data)
static void test_partition(abts_case *tc, void *data)
static void test_split(abts_case *tc, void *data)
static apr_file_t * make_test_file(abts_case *tc, const char *fname, const char *contents)
static void flatten_match(abts_case *tc, const char *ctx, apr_bucket_brigade *bb, const char *expect)
apr_status_t apr_file_trunc(apr_file_t *fp, apr_off_t offset)