From: Andrew Tridgell Date: Sat, 13 Jun 2026 06:51:24 +0000 (+1000) Subject: testsuite: force C locale in reverse-daemon-delta byte-count parse X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d0f2444aa59ac15ada3ba2d6aefcb65b0e1e8437;p=thirdparty%2Frsync.git testsuite: force C locale in reverse-daemon-delta byte-count parse rsync groups the "sent/received N bytes" summary numbers using the locale's thousands separator (e.g. de_DE uses '.'), which broke the [\d,]+ parser and failed the test for testers in non-C locales. Run the peer client under LC_ALL=C so the output is deterministic. Reported-by: Michael Mess --- diff --git a/testsuite/reverse-daemon-delta_test.py b/testsuite/reverse-daemon-delta_test.py index 707977dd..b073b578 100644 --- a/testsuite/reverse-daemon-delta_test.py +++ b/testsuite/reverse-daemon-delta_test.py @@ -57,8 +57,11 @@ def peer_client(args, label): """Run the OLD client (RSYNC_PEER) and return (sent, received) wire bytes parsed from rsync's summary line. Fails the test on non-zero exit.""" argv = shlex.split(RSYNC_PEER) + args + # Force C locale: rsync groups the "sent/received N bytes" numbers per the + # locale (e.g. de_DE uses '.' for thousands), which would break parsing. proc = subprocess.run(argv, stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, text=True) + stderr=subprocess.STDOUT, text=True, + env={**os.environ, 'LC_ALL': 'C'}) print(proc.stdout, end='') if proc.returncode != 0: test_fail(f"{label}: old client exited {proc.returncode}")