@@ -42,7 +42,7 @@ void test_compress()
42
42
43
43
void test_concatenated_gzip_count ()
44
44
{
45
- int ret ;
45
+ int ret ;
46
46
int sample_len ;
47
47
char * in_data = morpheus ;
48
48
size_t in_len ;
@@ -63,7 +63,7 @@ void test_concatenated_gzip_count()
63
63
TEST_CHECK (ret == 0 );
64
64
65
65
border_count = flb_gzip_count (payload , flb_sds_len (payload ), NULL , 0 );
66
- TEST_CHECK (border_count == 1 );
66
+ TEST_CHECK (border_count == 2 );
67
67
68
68
flb_free (str );
69
69
flb_sds_destroy (payload );
@@ -100,9 +100,47 @@ void test_not_overflow_for_concatenated_gzip()
100
100
}
101
101
}
102
102
103
+
104
+ void test_decompress_concatenated ()
105
+ {
106
+ int ret ;
107
+ char * in_data = morpheus ;
108
+ size_t in_len = strlen (morpheus );
109
+ void * gz1 , * gz2 ;
110
+ size_t len1 , len2 ;
111
+ flb_sds_t full_payload ;
112
+ void * out ;
113
+ size_t out_len ;
114
+
115
+ ret = flb_gzip_compress (in_data , in_len , & gz1 , & len1 );
116
+ TEST_CHECK (ret == 0 );
117
+
118
+ ret = flb_gzip_compress (in_data , in_len , & gz2 , & len2 );
119
+ TEST_CHECK (ret == 0 );
120
+
121
+ full_payload = flb_sds_create_len ((char * )gz1 , len1 );
122
+ ret = flb_sds_cat_safe (& full_payload , gz2 , len2 );
123
+ TEST_CHECK (ret == 0 );
124
+
125
+ int count = flb_gzip_count (full_payload , flb_sds_len (full_payload ), NULL , 0 );
126
+ TEST_CHECK (count == 2 );
127
+
128
+ ret = flb_gzip_uncompress (full_payload , flb_sds_len (full_payload ), & out , & out_len );
129
+ TEST_CHECK (ret == 0 );
130
+ TEST_CHECK (out_len == 2 * in_len );
131
+ TEST_CHECK (memcmp (out , morpheus , in_len ) == 0 );
132
+ TEST_CHECK (memcmp ((char * )out + in_len , morpheus , in_len ) == 0 );
133
+
134
+ flb_free (gz1 );
135
+ flb_free (gz2 );
136
+ flb_sds_destroy (full_payload );
137
+ flb_free (out );
138
+ }
139
+
103
140
TEST_LIST = {
104
141
{"compress" , test_compress },
105
142
{"count" , test_concatenated_gzip_count },
106
143
{"not_overflow" , test_not_overflow_for_concatenated_gzip },
144
+ {"decompress_concatenated" , test_decompress_concatenated },
107
145
{ 0 }
108
146
};
0 commit comments