aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBonfaceKilz2021-02-12 22:05:53 +0300
committerBonfaceKilz2021-02-12 22:05:53 +0300
commitadb9a6e3d570c86cf902d6293b30fc1f0f27df82 (patch)
tree9c0fd48d8ffff9d140a26b838cc54504cc553aad
parentb2254d8f5fdabd97e38dcdbaebd5d8352309cd46 (diff)
downloadgenenetwork3-adb9a6e3d570c86cf902d6293b30fc1f0f27df82.tar.gz
Use sorted list of files when calculating md5sums of directory
* gn3/file_utils.py (get_dir_hash): Sort list of files before calculating their md5sums. * tests/unit/test_file_utils.py (test_get_dir_hash): Update test-case md5sum.
-rw-r--r--gn3/file_utils.py2
-rw-r--r--tests/unit/test_file_utils.py2
2 files changed, 2 insertions, 2 deletions
diff --git a/gn3/file_utils.py b/gn3/file_utils.py
index 79e6854..d6e1c66 100644
--- a/gn3/file_utils.py
+++ b/gn3/file_utils.py
@@ -13,7 +13,7 @@ def get_dir_hash(directory: str) -> str:
if not os.path.exists(directory):
raise FileNotFoundError
for root, _, files in os.walk(directory):
- for names in files:
+ for names in sorted(files):
file_path = os.path.join(root, names)
with open(file_path, "rb") as file_:
for buf in iter(partial(file_.read, 4096), b''):
diff --git a/tests/unit/test_file_utils.py b/tests/unit/test_file_utils.py
index a54680d..f5efa02 100644
--- a/tests/unit/test_file_utils.py
+++ b/tests/unit/test_file_utils.py
@@ -13,7 +13,7 @@ class TestFileUtils(unittest.TestCase):
def test_get_dir_hash(self):
"""Test that a directory is hashed correctly"""
test_dir = os.path.join(os.path.dirname(__file__), "test_data")
- self.assertEqual("928a0e2e4846b4b3c2881d9c1d6cfce4",
+ self.assertEqual("fd9d74a9554b7f13bfeffbdda8e61486",
get_dir_hash(test_dir))
def test_get_dir_hash_non_existent_dir(self):