]> git.proxmox.com Git - mirror_kronosnet.git/commitdiff
[compress]Default compression level use
authoryuan ren <yren@suse.com>
Tue, 25 Jun 2019 13:55:26 +0000 (21:55 +0800)
committeryuan ren <yren@suse.com>
Tue, 25 Jun 2019 13:55:26 +0000 (21:55 +0800)
1. add test casees for a module without default.Using default
compression level.
2. Discuss with Fabio, invalid compression level not the knet
responsible for, so error logged. But if compress success but
dstLen larger than srcLen, defualt compression level will be
used, because the request level is not effective.

Signed-off-by: yuan ren <yren@suse.com>
libknet/tests/api_knet_handle_compress.c

index 3cb2ef418a02eed0ed821f490e16510c0700767f..31392cfd813b9fbb9e2bd52229e5bcde9024a907 100644 (file)
@@ -81,6 +81,22 @@ static void test(void)
 
        flush_logs(logfds[0], stdout);
 
+       printf("Test knet_handle_compress with bzip2 (no default) with negative level (-3)\n");
+#ifdef BZIP2_COMPRESS_LEVEL
+        memset(&knet_handle_compress_cfg, 0, sizeof(struct knet_handle_compress_cfg));
+        strncpy(knet_handle_compress_cfg.compress_model, "bzip2", sizeof(knet_handle_compress_cfg.compress_model) - 1);
+        knet_handle_compress_cfg.compress_level = -3;
+
+        if((!knet_handle_compress(knet_h, &knet_handle_compress_cfg)) || (errno != EINVAL)) {
+                printf("knet_handle_compress accepted invalid (-3) compress level and for bzip2, which is no default defined\n");
+                knet_handle_free(knet_h);
+                flush_logs(logfds[0], stdout);
+                close_logpipes(logfds);
+                exit(FAIL);
+        }
+#endif
+       flush_logs(logfds[0], stdout);
+
        printf("Test knet_handle_compress with zlib compress and not effective compression level (0)\n");
 
        memset(&knet_handle_compress_cfg, 0, sizeof(struct knet_handle_compress_cfg));