57 #define DATA(...) { __VA_ARGS__ } 60 #define ZLIB( name, COMPRESSED, EXPECTED ) \ 61 static const uint8_t name ## _compressed[] = COMPRESSED; \ 62 static const uint8_t name ## _expected[] = EXPECTED; \ 63 static struct zlib_test name = { \ 64 .compressed_name = #name ".z", \ 65 .compressed = name ## _compressed, \ 66 .compressed_len = sizeof ( name ## _compressed ), \ 67 .expected_name = #name, \ 68 .expected = name ## _expected, \ 69 .expected_len = sizeof ( name ## _expected ), \ 74 DATA ( 0x78, 0x9c, 0xf3, 0x48, 0xcd, 0xc9, 0xc9, 0x57, 0x28, 0xcf,
75 0x2f, 0xca, 0x49, 0x01, 0x00, 0x18, 0xab, 0x04, 0x3d ),
76 DATA ( 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c,
89 struct image *extracted;
93 test->compressed_len );
104 okx ( extracted->
len ==
test->expected_len, file, line );
106 test->expected_len ) == 0, file, line );
116 #define zlib_ok( test ) zlib_okx ( test, __FILE__, __LINE__ ) const char * compressed_name
Compressed filename.
const void * data
Read-only data.
const void * compressed
Compressed data.
struct image_type * type
Image type, if known.
const char * expected_name
Expected uncompressed name.
Self-test infrastructure.
const char * name
Test set name.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
struct self_test zlib_test __self_test
zlib self-test
#define okx(success, file, line)
Report test result.
#define ZLIB(name, COMPRESSED, EXPECTED)
Define a zlib test.
int image_extract(struct image *image, const char *name, struct image **extracted)
Extract archive image.
static void zlib_test_exec(void)
Perform zlib self-test.
size_t len
Length of raw file image.
size_t compressed_len
Length of compressed data.
#define DATA(...)
Define inline data.
struct image * image_memory(const char *name, const void *data, size_t len)
Create registered image from block of memory.
void unregister_image(struct image *image)
Unregister executable image.
int strcmp(const char *first, const char *second)
Compare strings.
size_t expected_len
Length of expected uncompressed data.
static void zlib_okx(struct zlib_test *test, const char *file, unsigned int line)
Report zlib test result.
int memcmp(const void *first, const void *second, size_t len)
Compare memory regions.
#define NULL
NULL pointer (VOID *)
const void * expected
Expected uncompressed data.