Author: Jonas Devlieghere Date: 2020-01-23T16:37:03-08:00 New Revision: 47d7a81ba4bb4be2e6027fb44aa4cbfaffe9c3f2
URL: https://github.com/llvm/llvm-project/commit/47d7a81ba4bb4be2e6027fb44aa4cbfaffe9c3f2 DIFF: https://github.com/llvm/llvm-project/commit/47d7a81ba4bb4be2e6027fb44aa4cbfaffe9c3f2.diff LOG: [lldb/Util] Use md5 instead of python's hash function. Because of the way the Python hash function works, it's not guaranteed to be the same. This was causing a lot of reproducers to be generated for the same tests, even though the CWD or arguments didn't change. Switching to an MD5 hash should fix that. Added: Modified: lldb/utils/lldb-repro/lldb-repro.py Removed: ################################################################################ diff --git a/lldb/utils/lldb-repro/lldb-repro.py b/lldb/utils/lldb-repro/lldb-repro.py index f7579e8d14d3..c1d62994f2f3 100755 --- a/lldb/utils/lldb-repro/lldb-repro.py +++ b/lldb/utils/lldb-repro/lldb-repro.py @@ -18,6 +18,7 @@ import os import tempfile import subprocess +import hashlib def help(): @@ -29,11 +30,12 @@ def main(): help() return 1 - # Compute a hash based on the input arguments and the current working + # Compute an MD5 hash based on the input arguments and the current working # directory. - args = ' '.join(sys.argv[2:]) - cwd = os.getcwd() - input_hash = str(hash((cwd, args))) + h = hashlib.md5() + h.update(' '.join(sys.argv[2:])) + h.update(os.getcwd()) + input_hash = h.hexdigest() # Use the hash to "uniquely" identify a reproducer path. reproducer_path = os.path.join(tempfile.gettempdir(), input_hash) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits