26 #include "lib/res/file/path.h"
27 #include "lib/res/file/fp_posix.h"
28 #include "lib/res/file/file_cache.h"
29 #include "lib/res/file/vfs/vfs.h"
30 #include "lib/res/file/archive/archive.h"
31 #include "lib/res/file/archive/archive_builder.h"
33 #include "lib/res/mem.h"
51 base32(4, (
const u8*)&rand_num, (
u8*)name_tmp);
54 const char* atom_fn = file_make_unique_fn_copy(name_tmp);
78 u8* data =
new u8[size];
83 const bool make_easily_compressible = (
rand(0, 100) > 50);
84 if(make_easily_compressible)
86 for(
off_t i = 0; i < size; i++)
87 data[i] =
rand() & 0x0F;
91 for(
off_t i = 0; i < size; i++)
92 data[i] =
rand() & 0xFF;
100 TS_ASSERT_EQUALS(bytes_written, size);
109 :
archive_fn(
"test_archive_random_data.zip") {}
113 (void)path_SetRoot(0,
".");
125 if(!file_exists(
"archivetest"))
144 FileIOBuf buf = FILE_BUF_ALLOC;
145 ssize_t bytes_read = afile_read(&f, 0,
files[i].size, &buf);
146 TS_ASSERT_EQUALS(bytes_read,
files[i].size);
148 TS_ASSERT_SAME_DATA(buf,
files[i].data,
files[i].size);
156 dir_delete(
"archivetest");
void test_create_archive_with_random_files()
const char *const archive_fn
void base32(const size_t in_len, const u8 *in, u8 *out)
generate the base32 textual representation of a buffer.
static const size_t MAX_FILE_SIZE
const char * gen_random_name()
const char * filenames[NUM_FILES+1]
std::set< const char * > existing_names
i64 Handle
`handle' representing a reference to a resource (sound, texture, etc.)
void generate_random_files()
void test_multiple_init_shutdown()
#define SAFE_ARRAY_DELETE(p)
delete memory ensuing from new[] and set the pointer to zero (thus making double-frees safe / a no-op...
size_t rand(size_t min_inclusive, size_t max_exclusive)
return random integer in [min, max).
static const size_t NUM_FILES
#define TS_ASSERT_OK(expr)
TestFile files[NUM_FILES]