12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*
- * Copyright (c) Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under both the BSD-style license (found in the
- * LICENSE file in the root directory of this source tree) and the GPLv2 (found
- * in the COPYING file in the root directory of this source tree).
- * You may select, at your option, one of the above-listed licenses.
- */
- #include <stddef.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "decompress_sources.h"
- #include <linux/zstd.h>
- #define CONTROL(x) \
- do { \
- if (!(x)) { \
- fprintf(stderr, "%s:%u: %s failed!\n", __FUNCTION__, __LINE__, #x); \
- abort(); \
- } \
- } while (0)
- static const char kEmptyZstdFrame[] = {
- 0x28, 0xb5, 0x2f, 0xfd, 0x24, 0x00, 0x01, 0x00, 0x00, 0x99, 0xe9, 0xd8, 0x51
- };
- static void test_decompress_unzstd(void) {
- fprintf(stderr, "Testing decompress unzstd... ");
- {
- size_t const wkspSize = zstd_dctx_workspace_bound();
- void* wksp = malloc(wkspSize);
- ZSTD_DCtx* dctx = zstd_init_dctx(wksp, wkspSize);
- CONTROL(wksp != NULL);
- CONTROL(dctx != NULL);
- {
- size_t const dSize = zstd_decompress_dctx(dctx, NULL, 0, kEmptyZstdFrame, sizeof(kEmptyZstdFrame));
- CONTROL(!zstd_is_error(dSize));
- CONTROL(dSize == 0);
- }
- free(wksp);
- }
- fprintf(stderr, "Ok\n");
- }
- int main(void) {
- test_decompress_unzstd();
- return 0;
- }
|