|
|
|
@ -53,9 +53,8 @@ static void test_compression_algorithm_parse(void) { |
|
|
|
|
for (i = 0; i < GPR_ARRAY_SIZE(valid_names); i++) { |
|
|
|
|
const char *valid_name = valid_names[i]; |
|
|
|
|
grpc_compression_algorithm algorithm; |
|
|
|
|
int success; |
|
|
|
|
success = grpc_compression_algorithm_parse(valid_name, strlen(valid_name), |
|
|
|
|
&algorithm); |
|
|
|
|
const int success = grpc_compression_algorithm_parse( |
|
|
|
|
valid_name, strlen(valid_name), &algorithm); |
|
|
|
|
GPR_ASSERT(success != 0); |
|
|
|
|
GPR_ASSERT(algorithm == valid_algorithms[i]); |
|
|
|
|
} |
|
|
|
@ -71,9 +70,93 @@ static void test_compression_algorithm_parse(void) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void test_compression_algorithm_name(void) { |
|
|
|
|
int success; |
|
|
|
|
char *name; |
|
|
|
|
size_t i; |
|
|
|
|
const char *valid_names[] = {"identity", "gzip", "deflate"}; |
|
|
|
|
const grpc_compression_algorithm valid_algorithms[] = { |
|
|
|
|
GRPC_COMPRESS_NONE, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_DEFLATE}; |
|
|
|
|
|
|
|
|
|
gpr_log(GPR_DEBUG, "test_compression_algorithm_name"); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < GPR_ARRAY_SIZE(valid_algorithms); i++) { |
|
|
|
|
success = grpc_compression_algorithm_name(valid_algorithms[i], &name); |
|
|
|
|
GPR_ASSERT(success != 0); |
|
|
|
|
GPR_ASSERT(strcmp(name, valid_names[i]) == 0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
success = |
|
|
|
|
grpc_compression_algorithm_name(GRPC_COMPRESS_ALGORITHMS_COUNT, &name); |
|
|
|
|
GPR_ASSERT(success == 0); |
|
|
|
|
/* the value of "name" is undefined upon failure */ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void test_compression_algorithm_for_level(void) { |
|
|
|
|
size_t i; |
|
|
|
|
grpc_compression_level levels[] = { |
|
|
|
|
GRPC_COMPRESS_LEVEL_NONE, GRPC_COMPRESS_LEVEL_LOW, |
|
|
|
|
GRPC_COMPRESS_LEVEL_MED, GRPC_COMPRESS_LEVEL_HIGH}; |
|
|
|
|
grpc_compression_algorithm algorithms[] = {GRPC_COMPRESS_NONE, |
|
|
|
|
GRPC_COMPRESS_DEFLATE, GRPC_COMPRESS_DEFLATE, GRPC_COMPRESS_DEFLATE}; |
|
|
|
|
gpr_log(GPR_DEBUG, "test_compression_algorithm_for_level"); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < GPR_ARRAY_SIZE(levels); i++) { |
|
|
|
|
GPR_ASSERT(algorithms[i] == |
|
|
|
|
grpc_compression_algorithm_for_level(levels[i])); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void test_compression_level_for_algorithm(void) { |
|
|
|
|
|
|
|
|
|
size_t i; |
|
|
|
|
grpc_compression_level levels[] = { |
|
|
|
|
GRPC_COMPRESS_LEVEL_NONE, GRPC_COMPRESS_LEVEL_LOW, |
|
|
|
|
GRPC_COMPRESS_LEVEL_LOW, GRPC_COMPRESS_LEVEL_LOW}; |
|
|
|
|
grpc_compression_algorithm algorithms[] = {GRPC_COMPRESS_NONE, |
|
|
|
|
GRPC_COMPRESS_DEFLATE, GRPC_COMPRESS_DEFLATE, GRPC_COMPRESS_DEFLATE}; |
|
|
|
|
gpr_log(GPR_DEBUG, "test_compression_level_for_algorithm"); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < GPR_ARRAY_SIZE(algorithms); i++) { |
|
|
|
|
GPR_ASSERT(levels[i] == |
|
|
|
|
grpc_compression_level_for_algorithm(algorithms[i])); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void test_compression_enable_disable_algorithm(void) { |
|
|
|
|
grpc_compression_options options; |
|
|
|
|
grpc_compression_algorithm algorithm; |
|
|
|
|
|
|
|
|
|
gpr_log(GPR_DEBUG, "test_compression_enable_disable_algorithm"); |
|
|
|
|
|
|
|
|
|
grpc_compression_options_init(&options); |
|
|
|
|
for (algorithm = GRPC_COMPRESS_NONE; algorithm < GRPC_COMPRESS_ALGORITHMS_COUNT; algorithm++) { |
|
|
|
|
/* all algorithms are enabled by default */ |
|
|
|
|
GPR_ASSERT(grpc_compression_options_is_algorithm_enabled(&options, |
|
|
|
|
algorithm) != 0); |
|
|
|
|
} |
|
|
|
|
/* disable one by one */ |
|
|
|
|
for (algorithm = GRPC_COMPRESS_NONE; algorithm < GRPC_COMPRESS_ALGORITHMS_COUNT; algorithm++) { |
|
|
|
|
grpc_compression_options_disable_algorithm(&options, algorithm); |
|
|
|
|
GPR_ASSERT(grpc_compression_options_is_algorithm_enabled(&options, |
|
|
|
|
algorithm) == 0); |
|
|
|
|
} |
|
|
|
|
/* re-enable one by one */ |
|
|
|
|
for (algorithm = GRPC_COMPRESS_NONE; algorithm < GRPC_COMPRESS_ALGORITHMS_COUNT; algorithm++) { |
|
|
|
|
grpc_compression_options_enable_algorithm(&options, algorithm); |
|
|
|
|
GPR_ASSERT(grpc_compression_options_is_algorithm_enabled(&options, |
|
|
|
|
algorithm) != 0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main(int argc, char **argv) { |
|
|
|
|
grpc_init(); |
|
|
|
|
test_compression_algorithm_parse(); |
|
|
|
|
test_compression_algorithm_name(); |
|
|
|
|
test_compression_algorithm_for_level(); |
|
|
|
|
test_compression_level_for_algorithm(); |
|
|
|
|
test_compression_enable_disable_algorithm(); |
|
|
|
|
grpc_shutdown(); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|