diff options
-rw-r--r-- | combox/file.py | 7 | ||||
-rw-r--r-- | tests/file_test.py | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/combox/file.py b/combox/file.py index 959954a..d7602e9 100644 --- a/combox/file.py +++ b/combox/file.py @@ -301,14 +301,17 @@ def read_file(filename): return file_.read() -def hash_file(filename): +def hash_file(filename, file_content=None): """Does a SHA512 hash on the contents of file. Returns the hexdigest of the file content's hash. filename: Absolute pathname of the file. + file_content: If not None, hash of file_content is returned. """ - file_content = read_file(filename) + + if not file_content: + file_content = read_file(filename) return sha512(file_content).hexdigest() diff --git a/tests/file_test.py b/tests/file_test.py index 807ed23..7c041b7 100644 --- a/tests/file_test.py +++ b/tests/file_test.py @@ -88,10 +88,12 @@ class TestFile(object): """ Tests the hashing function - hash_file """ - fhash = hash_file(self.TEST_FILE) fcontent = read_file(self.TEST_FILE) + fhash_0 = hash_file(self.TEST_FILE) + fhash_1 = hash_file(self.TEST_FILE, fcontent) - assert fhash == sha512(fcontent).hexdigest() + assert fhash_0 == sha512(fcontent).hexdigest() + assert fhash_1 == sha512(fcontent).hexdigest() def test_relativepath(self): |