@ -20,30 +20,15 @@ class DBStatisticsTest : public DBTestBase {
} ;
TEST_F ( DBStatisticsTest , CompressionStatsTest ) {
CompressionType type ;
if ( Snappy_Supported ( ) ) {
type = kSnappyCompression ;
fprintf ( stderr , " using snappy \n " ) ;
} else if ( Zlib_Supported ( ) ) {
type = kZlibCompression ;
fprintf ( stderr , " using zlib \n " ) ;
} else if ( BZip2_Supported ( ) ) {
type = kBZip2Compression ;
fprintf ( stderr , " using bzip2 \n " ) ;
} else if ( LZ4_Supported ( ) ) {
type = kLZ4Compression ;
fprintf ( stderr , " using lz4 \n " ) ;
} else if ( XPRESS_Supported ( ) ) {
type = kXpressCompression ;
fprintf ( stderr , " using xpress \n " ) ;
} else if ( ZSTD_Supported ( ) ) {
type = kZSTD ;
fprintf ( stderr , " using ZSTD \n " ) ;
} else {
fprintf ( stderr , " skipping test, compression disabled \n " ) ;
return ;
for ( CompressionType type : GetSupportedCompressions ( ) ) {
if ( type = = kNoCompression ) {
continue ;
}
if ( type = = kBZip2Compression ) {
// Weird behavior in this test
continue ;
}
SCOPED_TRACE ( " Compression type: " + std : : to_string ( type ) ) ;
Options options = CurrentOptions ( ) ;
options . compression = type ;
@ -67,7 +52,8 @@ TEST_F(DBStatisticsTest, CompressionStatsTest) {
Random rnd ( 301 ) ;
std : : string buf ;
// Check that compressions occur and are counted when compression is turned on
// Check that compressions occur and are counted when compression is turned
// on
for ( int i = 0 ; i < kNumKeysWritten ; + + i ) {
ASSERT_OK (
Put ( Key ( i ) , test : : CompressibleString ( & rnd , compress_to , len , & buf ) ) ) ;
@ -97,12 +83,10 @@ TEST_F(DBStatisticsTest, CompressionStatsTest) {
EXPECT_EQ ( 0 , PopStat ( NUMBER_BLOCK_COMPRESSION_REJECTED ) ) ;
// Check when compression is rejected.
compress_to = 0.95 ;
DestroyAndReopen ( options ) ;
for ( int i = 0 ; i < kNumKeysWritten ; + + i ) {
ASSERT_OK (
Put ( Key ( i ) , test : : CompressibleString ( & rnd , compress_to , len , & buf ) ) ) ;
ASSERT_OK ( Put ( Key ( i ) , rnd . RandomBinaryString ( len ) ) ) ;
}
ASSERT_OK ( Flush ( ) ) ;
for ( int i = 0 ; i < kNumKeysWritten ; + + i ) {
@ -126,8 +110,7 @@ TEST_F(DBStatisticsTest, CompressionStatsTest) {
DestroyAndReopen ( options ) ;
for ( int i = 0 ; i < kNumKeysWritten ; + + i ) {
ASSERT_OK (
Put ( Key ( i ) , test : : CompressibleString ( & rnd , compress_to , len , & buf ) ) ) ;
ASSERT_OK ( Put ( Key ( i ) , rnd . RandomBinaryString ( len ) ) ) ;
}
ASSERT_OK ( Flush ( ) ) ;
for ( int i = 0 ; i < kNumKeysWritten ; + + i ) {
@ -146,6 +129,7 @@ TEST_F(DBStatisticsTest, CompressionStatsTest) {
EXPECT_EQ ( 0 , PopStat ( BYTES_DECOMPRESSED_FROM ) ) ;
EXPECT_EQ ( 0 , PopStat ( BYTES_DECOMPRESSED_TO ) ) ;
}
}
TEST_F ( DBStatisticsTest , MutexWaitStatsDisabledByDefault ) {
Options options = CurrentOptions ( ) ;