[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/maint-0.3.1] Add coverage markers in Zstd + LZMA compression backends.



commit fcf836d239d3545ff02df63d47e1b23b000138e0
Author: Alexander Færøy <ahf@xxxxxxxxxxxxxx>
Date:   Wed May 17 12:52:07 2017 +0000

    Add coverage markers in Zstd + LZMA compression backends.
    
    See: https://bugs.torproject.org/22286
---
 src/common/compress_lzma.c | 14 ++++++++++++--
 src/common/compress_zstd.c | 16 ++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/src/common/compress_lzma.c b/src/common/compress_lzma.c
index b5393a6ba..30d5920ca 100644
--- a/src/common/compress_lzma.c
+++ b/src/common/compress_lzma.c
@@ -46,6 +46,7 @@ memory_level(compression_level_t level)
 static const char *
 lzma_error_str(lzma_ret error)
 {
+  // LCOV_EXCL_START
   switch (error) {
     case LZMA_OK:
       return "Operation completed successfully";
@@ -74,6 +75,7 @@ lzma_error_str(lzma_ret error)
     default:
       return "Unknown LZMA error";
   }
+  // LCOV_EXCL_STOP
 }
 #endif // HAVE_LZMA.
 
@@ -144,9 +146,11 @@ tor_lzma_state_size_precalc(int compress, compression_level_t level)
     memory_usage = lzma_easy_decoder_memusage(memory_level(level));
 
   if (memory_usage == UINT64_MAX) {
+    // LCOV_EXCL_START
     log_warn(LD_GENERAL, "Unsupported compression level passed to LZMA %s",
                          compress ? "encoder" : "decoder");
     goto err;
+    // LCOV_EXCL_STOP
   }
 
   if (memory_usage + sizeof(tor_lzma_compress_state_t) > SIZE_MAX)
@@ -157,7 +161,7 @@ tor_lzma_state_size_precalc(int compress, compression_level_t level)
   return (size_t)memory_usage;
 
  err:
-  return 0;
+  return 0; // LCOV_EXCL_LINE
 }
 #endif // HAVE_LZMA.
 
@@ -189,17 +193,21 @@ tor_lzma_compress_new(int compress,
     retval = lzma_alone_encoder(&result->stream, &stream_options);
 
     if (retval != LZMA_OK) {
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "Error from LZMA encoder: %s (%u).",
                lzma_error_str(retval), retval);
       goto err;
+      // LCOV_EXCL_STOP
     }
   } else {
     retval = lzma_alone_decoder(&result->stream, MEMORY_LIMIT);
 
     if (retval != LZMA_OK) {
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "Error from LZMA decoder: %s (%u).",
                lzma_error_str(retval), retval);
       goto err;
+      // LCOV_EXCL_STOP
     }
   }
 
@@ -207,7 +215,7 @@ tor_lzma_compress_new(int compress,
   return result;
 
  err:
-  tor_free(result);
+  tor_free(result); // LCOV_EXCL_LINE
   return NULL;
 #else // HAVE_LZMA.
   (void)compress;
@@ -295,10 +303,12 @@ tor_lzma_compress_process(tor_lzma_compress_state_t *state,
     case LZMA_DATA_ERROR:
     case LZMA_PROG_ERROR:
     default:
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "LZMA %s didn't finish: %s.",
                state->compress ? "compression" : "decompression",
                lzma_error_str(retval));
       return TOR_COMPRESS_ERROR;
+      // LCOV_EXCL_STOP
   }
 #else // HAVE_LZMA.
   (void)state;
diff --git a/src/common/compress_zstd.c b/src/common/compress_zstd.c
index 99d05c37b..f54c4e1b3 100644
--- a/src/common/compress_zstd.c
+++ b/src/common/compress_zstd.c
@@ -194,31 +194,39 @@ tor_zstd_compress_new(int compress,
     result->u.compress_stream = ZSTD_createCStream();
 
     if (result->u.compress_stream == NULL) {
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "Error while creating Zstandard stream");
       goto err;
+      // LCOV_EXCL_STOP
     }
 
     retval = ZSTD_initCStream(result->u.compress_stream, preset);
 
     if (ZSTD_isError(retval)) {
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "Zstandard stream initialization error: %s",
                ZSTD_getErrorName(retval));
       goto err;
+      // LCOV_EXCL_STOP
     }
   } else {
     result->u.decompress_stream = ZSTD_createDStream();
 
     if (result->u.decompress_stream == NULL) {
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "Error while creating Zstandard stream");
       goto err;
+      // LCOV_EXCL_STOP
     }
 
     retval = ZSTD_initDStream(result->u.decompress_stream);
 
     if (ZSTD_isError(retval)) {
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "Zstandard stream initialization error: %s",
                ZSTD_getErrorName(retval));
       goto err;
+      // LCOV_EXCL_STOP
     }
   }
 
@@ -226,6 +234,7 @@ tor_zstd_compress_new(int compress,
   return result;
 
  err:
+  // LCOV_EXCL_START
   if (compress) {
     ZSTD_freeCStream(result->u.compress_stream);
   } else {
@@ -234,6 +243,7 @@ tor_zstd_compress_new(int compress,
 
   tor_free(result);
   return NULL;
+  // LCOV_EXCL_STOP
 #else // HAVE_ZSTD.
   (void)compress;
   (void)method;
@@ -294,10 +304,12 @@ tor_zstd_compress_process(tor_zstd_compress_state_t *state,
   }
 
   if (ZSTD_isError(retval)) {
+    // LCOV_EXCL_START
     log_warn(LD_GENERAL, "Zstandard %s didn't finish: %s.",
              state->compress ? "compression" : "decompression",
              ZSTD_getErrorName(retval));
     return TOR_COMPRESS_ERROR;
+    // LCOV_EXCL_STOP
   }
 
   if (state->compress && !finish) {
@@ -307,9 +319,11 @@ tor_zstd_compress_process(tor_zstd_compress_state_t *state,
     *out_len = output.size - output.pos;
 
     if (ZSTD_isError(retval)) {
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "Zstandard compression unable to flush: %s.",
                ZSTD_getErrorName(retval));
       return TOR_COMPRESS_ERROR;
+      // LCOV_EXCL_STOP
     }
 
     if (retval > 0)
@@ -326,10 +340,12 @@ tor_zstd_compress_process(tor_zstd_compress_state_t *state,
     *out_len = output.size - output.pos;
 
     if (ZSTD_isError(retval)) {
+      // LCOV_EXCL_START
       log_warn(LD_GENERAL, "Zstandard compression unable to write "
                "epilogue: %s.",
                ZSTD_getErrorName(retval));
       return TOR_COMPRESS_ERROR;
+      // LCOV_EXCL_STOP
     }
 
     // endStream returns the number of bytes that is needed to write the



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits