URI: 
       ttest_bitcoin: fix decorators for running tests twice (#4669) - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit c42f0dac53e7d1e27c443b20c51d5d68e8ff8acd
   DIR parent 6ee689345fdba24fddf0a719e906fed406e0d448
  HTML Author: Filip Gospodinov <f@gospodinov.ch>
       Date:   Thu, 30 Aug 2018 18:53:14 +0200
       
       ttest_bitcoin: fix decorators for running tests twice (#4669)
       
       This bug is triggered if ecc_fast._libsecp256k1 and/or
       crypto.AES are not present.
       
       Before, if the first test would have raised an exception
       it would have been implicitly caught by returning from
       tthe finally block and hence this effectively masks the
       ttest's outcome. Now, the exception is properly propagated
       causing the test to fail if an exception is raised.
       Diffstat:
         M electrum/tests/test_bitcoin.py      |      12 ++++++------
       
       1 file changed, 6 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/electrum/tests/test_bitcoin.py b/electrum/tests/test_bitcoin.py
       t@@ -48,10 +48,10 @@ def needs_test_with_all_ecc_implementations(func):
                    # first test without libsecp
                    func(*args, **kwargs)
                finally:
       -            # if libsecp is not available, we are done
       -            if not ecc_fast._libsecp256k1:
       -                return
                    ecc_fast.do_monkey_patching_of_python_ecdsa_internals_with_libsecp256k1()
       +        # if libsecp is not available, we are done
       +        if not ecc_fast._libsecp256k1:
       +            return
                # if libsecp is available, test again now
                func(*args, **kwargs)
            return run_test
       t@@ -74,10 +74,10 @@ def needs_test_with_all_aes_implementations(func):
                    # first test without pycryptodomex
                    func(*args, **kwargs)
                finally:
       -            # if pycryptodomex is not available, we are done
       -            if not _aes:
       -                return
                    crypto.AES = _aes
       +        # if pycryptodomex is not available, we are done
       +        if not _aes:
       +            return
                # if pycryptodomex is available, test again now
                func(*args, **kwargs)
            return run_test