aboutsummaryrefslogtreecommitdiff
path: root/tests/regression/method.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regression/method.c')
-rw-r--r--tests/regression/method.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/tests/regression/method.c b/tests/regression/method.c
index 1e84021c3ef3..b74f548196fd 100644
--- a/tests/regression/method.c
+++ b/tests/regression/method.c
@@ -444,6 +444,8 @@ static int init_cstream(
ZSTD_parameters const params = config_get_zstd_params(config, 0, 0);
ZSTD_CDict* dict = NULL;
if (cdict) {
+ if (!config->use_dictionary)
+ return 1;
*cdict = ZSTD_createCDict_advanced(
state->dictionary.data,
state->dictionary.size,
@@ -459,14 +461,18 @@ static int init_cstream(
} else {
zret = ZSTD_initCStream_advanced(
zcs,
- state->dictionary.data,
- state->dictionary.size,
+ config->use_dictionary ? state->dictionary.data : NULL,
+ config->use_dictionary ? state->dictionary.size : 0,
params,
ZSTD_CONTENTSIZE_UNKNOWN);
}
} else {
int const level = config_get_level(config);
+ if (level == CONFIG_NO_LEVEL)
+ return 1;
if (cdict) {
+ if (!config->use_dictionary)
+ return 1;
*cdict = ZSTD_createCDict(
state->dictionary.data,
state->dictionary.size,
@@ -477,7 +483,10 @@ static int init_cstream(
zret = ZSTD_initCStream_usingCDict(zcs, *cdict);
} else if (config->use_dictionary) {
zret = ZSTD_initCStream_usingDict(
- zcs, state->dictionary.data, state->dictionary.size, level);
+ zcs,
+ state->dictionary.data,
+ state->dictionary.size,
+ level);
} else {
zret = ZSTD_initCStream(zcs, level);
}
@@ -506,9 +515,17 @@ static result_t old_streaming_compress_internal(
result = result_error(result_error_compression_error);
goto out;
}
+ if (!advanced && config_get_level(config) == CONFIG_NO_LEVEL) {
+ result = result_error(result_error_skip);
+ goto out;
+ }
+ if (cdict && !config->use_dictionary) {
+ result = result_error(result_error_skip);
+ goto out;
+ }
if (init_cstream(state, zcs, config, advanced, cdict ? &cd : NULL)) {
- result = result_error(result_error_compression_error);
- goto out;
+ result = result_error(result_error_compression_error);
+ goto out;
}
result_data_t data = {.total_size = 0};
@@ -629,21 +646,21 @@ method_t const old_streaming = {
method_t const old_streaming_advanced = {
.name = "old streaming advanced",
.create = buffer_state_create,
- .compress = old_streaming_compress,
+ .compress = old_streaming_compress_advanced,
.destroy = buffer_state_destroy,
};
method_t const old_streaming_cdict = {
.name = "old streaming cdcit",
.create = buffer_state_create,
- .compress = old_streaming_compress,
+ .compress = old_streaming_compress_cdict,
.destroy = buffer_state_destroy,
};
method_t const old_streaming_advanced_cdict = {
.name = "old streaming advanced cdict",
.create = buffer_state_create,
- .compress = old_streaming_compress,
+ .compress = old_streaming_compress_cdict_advanced,
.destroy = buffer_state_destroy,
};