]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Added code coverage for inflateGetDictionary in example.
authorNathan Moinvaziri <nathan@solidstatenetworks.com>
Sun, 11 Jul 2021 23:17:30 +0000 (16:17 -0700)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Wed, 22 Sep 2021 14:14:05 +0000 (16:14 +0200)
test/example.c

index 9f1f52a9402138be831503b297f3c3b0cf07d5bc..4f81962f7a92d1b945621b66620752eaf064125d 100644 (file)
@@ -575,6 +575,8 @@ void test_dict_deflate(unsigned char *compr, size_t comprLen) {
  */
 void test_dict_inflate(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) {
     int err;
+    uint8_t check_dictionary[10];
+    uint32_t check_dictionary_len = 0;
     PREFIX3(stream) d_stream; /* decompression stream */
 
     strcpy((char*)uncompr, "garbage garbage garbage");
@@ -605,6 +607,20 @@ void test_dict_inflate(unsigned char *compr, size_t comprLen, unsigned char *unc
         }
         CHECK_ERR(err, "inflate with dict");
     }
+    
+    err = PREFIX(inflateGetDictionary)(&d_stream, NULL, &check_dictionary_len);
+    CHECK_ERR(err, "inflateGetDictionary");
+    if (check_dictionary_len != sizeof(dictionary)) {
+        fprintf(stderr, "bad dictionary length\n");
+        exit(1);
+    }
+    
+    err = PREFIX(inflateGetDictionary)(&d_stream, check_dictionary, &check_dictionary_len);
+    CHECK_ERR(err, "inflateGetDictionary");
+    if (memcmp(dictionary, check_dictionary, sizeof(dictionary)) != 0) {
+        fprintf(stderr, "bad dictionary\n");
+        exit(1);
+    }
 
     err = PREFIX(inflateEnd)(&d_stream);
     CHECK_ERR(err, "inflateEnd");