LCOV - code coverage report
Current view: top level - src/util - chaintype.cpp (source / functions) Hit Total Coverage
Test: fuzz_coverage.info Lines: 18 19 94.7 %
Date: 2023-10-05 15:40:34 Functions: 2 2 100.0 %
Branches: 16 21 76.2 %

           Branch data     Line data    Source code
       1                 :            : // Copyright (c) 2023 The Bitcoin Core developers
       2                 :            : // Distributed under the MIT software license, see the accompanying
       3                 :            : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
       4                 :            : 
       5                 :            : #include <util/chaintype.h>
       6                 :            : 
       7                 :            : #include <cassert>
       8                 :            : #include <optional>
       9                 :            : #include <string>
      10                 :            : 
      11                 :     547150 : std::string ChainTypeToString(ChainType chain)
      12                 :            : {
      13   [ +  +  +  +  :     547150 :     switch (chain) {
                      - ]
      14                 :            :     case ChainType::MAIN:
      15         [ +  - ]:     546025 :         return "main";
      16                 :            :     case ChainType::TESTNET:
      17         [ +  - ]:         75 :         return "test";
      18                 :            :     case ChainType::SIGNET:
      19         [ +  - ]:         74 :         return "signet";
      20                 :            :     case ChainType::REGTEST:
      21         [ +  - ]:        976 :         return "regtest";
      22                 :            :     }
      23                 :          0 :     assert(false);
      24                 :     547150 : }
      25                 :            : 
      26                 :         12 : std::optional<ChainType> ChainTypeFromString(std::string_view chain)
      27                 :            : {
      28         [ +  + ]:         12 :     if (chain == "main") {
      29                 :          1 :         return ChainType::MAIN;
      30         [ +  + ]:         11 :     } else if (chain == "test") {
      31                 :          1 :         return ChainType::TESTNET;
      32         [ +  + ]:         10 :     } else if (chain == "signet") {
      33                 :          1 :         return ChainType::SIGNET;
      34         [ +  + ]:          9 :     } else if (chain == "regtest") {
      35                 :          1 :         return ChainType::REGTEST;
      36                 :            :     } else {
      37                 :          8 :         return std::nullopt;
      38                 :            :     }
      39                 :         12 : }

Generated by: LCOV version 1.14