|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
/*
|
|
|
|
|
* |
|
|
|
|
* Copyright 2015, Google Inc. |
|
|
|
|
* Copyright 2015-2016, Google Inc. |
|
|
|
|
* All rights reserved. |
|
|
|
|
* |
|
|
|
|
* Redistribution and use in source and binary forms, with or without |
|
|
|
@ -93,18 +93,98 @@ static void test_compression_algorithm_name(void) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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])); |
|
|
|
|
{ |
|
|
|
|
/* accept only identity (aka none) */ |
|
|
|
|
uint32_t accepted_encodings = 0; |
|
|
|
|
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_NONE); /* always */ |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_NONE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_NONE, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_NONE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_LOW, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_NONE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_MED, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_NONE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_HIGH, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
/* accept only gzip */ |
|
|
|
|
uint32_t accepted_encodings = 0; |
|
|
|
|
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_NONE); /* always */ |
|
|
|
|
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_GZIP); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_NONE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_NONE, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_GZIP == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_LOW, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_GZIP == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_MED, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_GZIP == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_HIGH, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
/* accept only deflate */ |
|
|
|
|
uint32_t accepted_encodings = 0; |
|
|
|
|
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_NONE); /* always */ |
|
|
|
|
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_DEFLATE); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_NONE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_NONE, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_DEFLATE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_LOW, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_DEFLATE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_MED, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_DEFLATE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_HIGH, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
/* accept gzip and deflate */ |
|
|
|
|
uint32_t accepted_encodings = 0; |
|
|
|
|
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_NONE); /* always */ |
|
|
|
|
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_GZIP); |
|
|
|
|
GPR_BITSET(&accepted_encodings, GRPC_COMPRESS_DEFLATE); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_NONE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_NONE, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_GZIP == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_LOW, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_DEFLATE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_MED, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
|
|
|
|
|
GPR_ASSERT(GRPC_COMPRESS_DEFLATE == |
|
|
|
|
grpc_compression_algorithm_for_level(GRPC_COMPRESS_LEVEL_HIGH, |
|
|
|
|
accepted_encodings)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|