mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
bb5579a145
{{{ svn merge -c 24081 https://svn.tokutek.com/tokudb/toku/tokudb.2948 }}} . git-svn-id: file:///svn/toku/tokudb@24083 c7de825b-a66e-492c-adef-691d508d4ae1
52 lines
1 KiB
C
52 lines
1 KiB
C
// Test the first case for the bug in #1308 (brt-serialize.c:33 does the cast wrong)
|
|
|
|
|
|
#include "test.h"
|
|
|
|
#include <string.h>
|
|
|
|
#include <toku_portability.h>
|
|
#include "../brt.h"
|
|
|
|
#define FNAME "test1308a.data"
|
|
|
|
#define BUFSIZE (16<<20)
|
|
|
|
int
|
|
test_main (int argc __attribute__((__unused__)), const char *argv[] __attribute__((__unused__)))
|
|
{
|
|
unlink(FNAME);
|
|
|
|
int fd;
|
|
{
|
|
|
|
static u_int64_t buf [BUFSIZE]; // make this static because it's too big to fit on the stack.
|
|
|
|
fd = open(FNAME, O_CREAT+O_RDWR+O_BINARY, 0777);
|
|
assert(fd>=0);
|
|
memset(buf, 0, sizeof(buf));
|
|
u_int64_t i;
|
|
for (i=0; i<(1LL<<32); i+=BUFSIZE) {
|
|
toku_os_full_write(fd, buf, BUFSIZE);
|
|
}
|
|
}
|
|
int64_t file_size;
|
|
{
|
|
int r = toku_os_get_file_size(fd, &file_size);
|
|
assert(r==0);
|
|
}
|
|
{
|
|
int r = maybe_preallocate_in_file(fd, 1000);
|
|
assert(r==0);
|
|
}
|
|
int64_t file_size2;
|
|
{
|
|
int r = toku_os_get_file_size(fd, &file_size2);
|
|
assert(r==0);
|
|
}
|
|
assert(file_size==file_size2);
|
|
close(fd);
|
|
|
|
unlink(FNAME);
|
|
return 0;
|
|
}
|