From 17c18fbc3015b5dc0580d16a4ff5bcf2fd88b449 Mon Sep 17 00:00:00 2001 From: Jay Satiro Date: Tue, 7 Apr 2020 00:50:11 -0400 Subject: [PATCH] test1148: tolerate progress updates better (again) - Ignore intermediate progress updates. - Support locales that use a character other than period as decimal separator (eg 100,0%). test1148 checks that the progress finishes at 100% and has the right bar width. Prior to this change the test assumed that the only progress reported for such a quick transfer was 100%, however in rare instances (like in the CI where transfer time can slow considerably) there may be intermediate updates. For example, below is stderrlog1148 from a failed CI run with explicit \r and \n added (it is one line; broken up so that it's easier to understand). \r \r################################## 48.3% \r######################################################################## 100.0% \n Closes https://github.com/curl/curl/pull/5194 --- tests/data/test1148 | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/data/test1148 b/tests/data/test1148 index ba498698ae..c4232f083a 100644 --- a/tests/data/test1148 +++ b/tests/data/test1148 @@ -37,9 +37,6 @@ progress-bar http://%HOSTIP:%HTTPPORT/1148 -# --stderr log/stderrlog1148 - -perl -e '$ENV{"LC_NUMERIC"} = "en_US.UTF-8"; print "Test requires point as decimal separator" if system("./libtest/chkdecimalpoint");' - LC_ALL= LC_NUMERIC=en_US.UTF-8 @@ -57,13 +54,16 @@ Host: %HOSTIP:%HTTPPORT Accept: */* -# This allows the last 4 letters of the bar to get updated without it -# matters. We're mostly checking the width of it anyway. + +# Check that the progress finished at 100% and has the right bar width. +# Note the dot in 100.0% is regex to match any character since different +# locales use different separators. - bar 100.0% +correct -s/####################################################################..../bar/ +s/.*\r#{72} 100.0%/correct/ +