[tor-commits] [onionperf/master] Enforce deterministic ordering in file walk.
karsten at torproject.org
karsten at torproject.org
Tue May 12 07:26:32 UTC 2020
commit 2ab97fc8082c03ff5f1c8d775f417bfee8936726
Author: Philipp Winter <phw at 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
More information about the tor-commits
mailing list