31#if APR_HAS_LARGE_FILES
41#define PRECOND if (!madefile) { ABTS_NOT_IMPL(tc, "Large file tests not enabled"); return; }
43#define TESTDIR "lfstests"
44#define TESTFILE "large.bin"
45#define TESTFN "lfstests/large.bin"
78 ABTS_NOT_IMPL(tc,
"Creation of large file (apparently not sparse)");
93 ABTS_NOT_IMPL(tc,
"Creation of large file (rlimit, quota or fs)");
123 ABTS_ASSERT(tc,
"file_info_get gave incorrect size",
157 ABTS_ASSERT(tc,
"apr_dir_read gave incorrect size for large file",
171#define TESTSTR "Hello, world."
192 ABTS_ASSERT(tc,
"file_info_get gave incorrect size",
290 ABTS_ASSERT(tc,
"apr_atoi64 parsed apr_off_t_toa result incorrectly",
294#define TESTBUFFN TESTDIR "/buffer.bin"
316 ABTS_ASSERT(tc,
"returned seek position still 8GB",
345 if (
sizeof(
off_t) < 8) {
359#if APR_HAS_LARGE_FILES
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_ASSERT(a, b, c)
#define APR_ASSERT_SUCCESS(tc, ctxt, rv)
APR Miscellaneous library routines.
APR general purpose library routines.
#define APR_STATUS_IS_EEXIST(s)
#define APR_STATUS_IS_EINVAL(s)
#define APR_STATUS_IS_ENOENT(s)
#define APR_FOPEN_TRUNCATE
#define APR_FOPEN_BUFFERED
static void test_seek(abts_case *tc, void *data)
static void test_write(abts_case *tc, void *data)
static void test_stat(abts_case *tc, void *data)
abts_suite * testlfs(abts_suite *suite)
static void test_nolfs(abts_case *tc, void *data)
apr_status_t apr_dir_read(apr_finfo_t *finfo, apr_int32_t wanted, apr_dir_t *thedir)
apr_status_t apr_dir_make(const char *path, apr_fileperms_t perm, apr_pool_t *pool)
apr_status_t apr_dir_close(apr_dir_t *thedir)
apr_status_t apr_dir_open(apr_dir_t **new, const char *dirname, apr_pool_t *pool)
apr_status_t apr_file_trunc(apr_file_t *fp, apr_off_t offset)