mirror of
https://github.com/GerbilSoft/zlib-ng.git
synced 2025-06-18 11:35:35 -04:00

This patch adds the ability to run zlib-ng test suite against the original zlib as follows: cmake -DZLIB_COMPAT=ON -DZLIBNG_ENABLE_TESTS=OFF . make LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu make test The benefit of this is that modifications to the original zlib can be tested with a more extensive zlib-ng's testsuite, and the assumptions that the zlib-ng tests make can be validated against the original zlib. In addition to a number of tests that exercise purely zlib-ng specific API, there are a few that expect zlib-ng specific behavior from the original zlib API: - deflate() (obviously) emits different streams - zlib-ng's deflatePrime() can take more than 16 bits - zVersion() returns a different string Adjust or disable the respective tests for ZLIBNG_ENABLE_TESTS=OFF.
24 lines
571 B
C
24 lines
571 B
C
#ifndef TEST_SHARED_NG_H
|
|
#define TEST_SHARED_NG_H
|
|
|
|
#include "test_shared.h"
|
|
|
|
/* Test definitions that can only be used in the zlib-ng build environment. */
|
|
|
|
static inline int deflate_prime_32(PREFIX3(stream) *stream, uint32_t value) {
|
|
int err;
|
|
|
|
#ifdef ZLIBNG_ENABLE_TESTS
|
|
err = PREFIX(deflatePrime)(stream, 32, value);
|
|
#else
|
|
/* zlib's deflatePrime() takes at most 16 bits */
|
|
err = PREFIX(deflatePrime)(stream, 16, value & 0xffff);
|
|
if (err != Z_OK) return err;
|
|
err = PREFIX(deflatePrime)(stream, 16, value >> 16);
|
|
#endif
|
|
|
|
return err;
|
|
}
|
|
|
|
#endif
|