Merge branch 'dev' into http-to-https
This commit is contained in:
@@ -34,7 +34,6 @@ libzstd:
|
||||
-DFSE_STATIC_LINKING_ONLY \
|
||||
-DHUF_STATIC_LINKING_ONLY \
|
||||
-DXXH_STATIC_LINKING_ONLY \
|
||||
-DMEM_FORCE_MEMORY_ACCESS=0 \
|
||||
-D__GNUC__ \
|
||||
-D__linux__=1 \
|
||||
-DSTATIC_BMI2=0 \
|
||||
|
||||
@@ -186,11 +186,14 @@ static void __attribute__((noinline)) use(void *x) {
|
||||
asm volatile("" : "+r"(x));
|
||||
}
|
||||
|
||||
static void __attribute__((noinline)) fill_stack(void) {
|
||||
memset(g_stack, 0x33, 8192);
|
||||
}
|
||||
|
||||
static void __attribute__((noinline)) set_stack(void) {
|
||||
|
||||
char stack[8192];
|
||||
g_stack = stack;
|
||||
memset(g_stack, 0x33, 8192);
|
||||
use(g_stack);
|
||||
}
|
||||
|
||||
@@ -208,6 +211,7 @@ static void __attribute__((noinline)) check_stack(void) {
|
||||
|
||||
static void test_stack_usage(test_data_t const *data) {
|
||||
set_stack();
|
||||
fill_stack();
|
||||
test_f2fs();
|
||||
test_btrfs(data);
|
||||
test_decompress_unzstd(data);
|
||||
|
||||
@@ -186,6 +186,40 @@ int main(int argc, const char** argv)
|
||||
}
|
||||
printf("Success!\n");
|
||||
|
||||
|
||||
printf("Test %u - check ZSTD magic in compressing empty string: ", testNb++);
|
||||
{ // compressing empty string should return a zstd header
|
||||
size_t const capacity = 255;
|
||||
char* inBuffer = malloc(capacity);
|
||||
assert(inBuffer != NULL);
|
||||
inBuffer[0] = '\0';
|
||||
void* const outBuffer = malloc(capacity);
|
||||
assert(outBuffer != NULL);
|
||||
|
||||
ZSTD_seekable_CStream *s = ZSTD_seekable_createCStream();
|
||||
ZSTD_seekable_initCStream(s, 1, 1, 255);
|
||||
|
||||
ZSTD_inBuffer input = { .src=inBuffer, .pos=0, .size=0 };
|
||||
ZSTD_outBuffer output = { .dst=outBuffer, .pos=0, .size=capacity };
|
||||
|
||||
ZSTD_seekable_compressStream(s, &output, &input);
|
||||
ZSTD_seekable_endStream(s, &output);
|
||||
|
||||
if((((char*)output.dst)[0] != '\x28') | (((char*)output.dst)[1] != '\xb5') | (((char*)output.dst)[2] != '\x2f') | (((char*)output.dst)[3] != '\xfd')) {
|
||||
printf("%#02x %#02x %#02x %#02x\n", ((char*)output.dst)[0], ((char*)output.dst)[1] , ((char*)output.dst)[2] , ((char*)output.dst)[3] );
|
||||
|
||||
free(inBuffer);
|
||||
free(outBuffer);
|
||||
ZSTD_seekable_freeCStream(s);
|
||||
goto _test_error;
|
||||
}
|
||||
|
||||
free(inBuffer);
|
||||
free(outBuffer);
|
||||
ZSTD_seekable_freeCStream(s);
|
||||
}
|
||||
printf("Success!\n");
|
||||
|
||||
/* TODO: Add more tests */
|
||||
printf("Finished tests\n");
|
||||
return 0;
|
||||
|
||||
@@ -350,7 +350,7 @@ size_t ZSTD_seekable_writeSeekTable(ZSTD_frameLog* fl, ZSTD_outBuffer* output)
|
||||
|
||||
size_t ZSTD_seekable_endStream(ZSTD_seekable_CStream* zcs, ZSTD_outBuffer* output)
|
||||
{
|
||||
if (!zcs->writingSeekTable && zcs->frameDSize) {
|
||||
if (!zcs->writingSeekTable) {
|
||||
const size_t endFrame = ZSTD_seekable_endFrame(zcs, output);
|
||||
if (ZSTD_isError(endFrame)) return endFrame;
|
||||
/* return an accurate size hint */
|
||||
|
||||
Reference in New Issue
Block a user