diff options
author | fanquake <fanquake@gmail.com> | 2023-08-02 11:39:48 +0100 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2023-08-02 11:53:35 +0100 |
commit | 2dea6c5ca01861fb027ee9a852d6a95736e7b0d2 (patch) | |
tree | 4502f8b0c75bd61b797388e4d416b6ace7887094 /test/functional/tool_wallet.py | |
parent | 1b5cbf71dff1f240bac0156f8800382272489f0b (diff) | |
parent | 2c0c6f44770403899bd8514ad7343356853bf38c (diff) | |
download | bitcoin-2dea6c5ca01861fb027ee9a852d6a95736e7b0d2.tar.xz |
Merge bitcoin/bitcoin#27572: test: dedup file hashing using `sha256sum_file` helper
2c0c6f44770403899bd8514ad7343356853bf38c test: dedup file hashing using `sha256sum_file` helper (Sebastian Falbesoner)
Pull request description:
Rather than doing the open/read/hash-steps manually in the affected functional tests, we can just use the `sha256sum_file` helper from the utils module instead.
Note that for the tool_wallet.py test, the used hash is changed from sha1 to sha256, but as the only purpose is to detect file content changes, this doesn't matter. Also, the optimization using `memoryview` is overkill here, as the opened file has only a size of 24KiB and determining the hash via the helper doesn't take longer than a few hundred micro-seconds on my machine.
ACKs for top commit:
kristapsk:
ACK 2c0c6f44770403899bd8514ad7343356853bf38c
Tree-SHA512: 64fe21650b56a50e9f1a95f6ef27d88d8bfbb621e5be456f327ef8dbb5596b529d03976c200f3fd68da48cc427de9f257b403f3228e38cf1df918006674fac68
Diffstat (limited to 'test/functional/tool_wallet.py')
-rwxr-xr-x | test/functional/tool_wallet.py | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/test/functional/tool_wallet.py b/test/functional/tool_wallet.py index 327dd43e5a..9d381a2cd2 100755 --- a/test/functional/tool_wallet.py +++ b/test/functional/tool_wallet.py @@ -4,7 +4,6 @@ # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Test bitcoin-wallet.""" -import hashlib import os import stat import subprocess @@ -13,9 +12,10 @@ import textwrap from collections import OrderedDict from test_framework.test_framework import BitcoinTestFramework -from test_framework.util import assert_equal - -BUFFER_SIZE = 16 * 1024 +from test_framework.util import ( + assert_equal, + sha256sum_file, +) class ToolWalletTest(BitcoinTestFramework): @@ -53,12 +53,7 @@ class ToolWalletTest(BitcoinTestFramework): assert_equal(p.poll(), 0) def wallet_shasum(self): - h = hashlib.sha1() - mv = memoryview(bytearray(BUFFER_SIZE)) - with open(self.wallet_path, 'rb', buffering=0) as f: - for n in iter(lambda: f.readinto(mv), 0): - h.update(mv[:n]) - return h.hexdigest() + return sha256sum_file(self.wallet_path).hex() def wallet_timestamp(self): return os.path.getmtime(self.wallet_path) |