commit 2ab97fc8082c03ff5f1c8d775f417bfee8936726 Author: Philipp Winter phw@nymity.ch Date: Fri May 8 10:20:15 2020 -0700
Enforce deterministic ordering in file walk.
os.walk internally calls os.scandir, whose "entries are yielded in arbitrary order." This breaks (at least on my machine) two unit tests which rely on ordering:
1. test_reprocessing.test_log_collection_tgen 2. test_reprocessing.test_log_collection_torctl
This patch fixes the problem by calling sorted on the arbitrarily ordered file names. --- onionperf/reprocessing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/onionperf/reprocessing.py b/onionperf/reprocessing.py index c5351d4..7acf539 100644 --- a/onionperf/reprocessing.py +++ b/onionperf/reprocessing.py @@ -13,7 +13,7 @@ import sys def collect_logs(dirpath, pattern): logs = [] for root, dirnames, filenames in os.walk(dirpath): - for filename in fnmatch.filter(filenames, pattern): + for filename in fnmatch.filter(sorted(filenames), pattern): logs.append(os.path.join(root, filename)) return logs
tor-commits@lists.torproject.org