aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-04-10 13:24:51 +0100
committerJonathan Wakely <jwakely@redhat.com>2024-04-10 16:14:25 +0100
commit4decc1062f0f6eb44209d9d5a26a744ffa474648 (patch)
tree4f1100f7f7521ff063917c0eb8d0a2650f1d52b3
parent9586d6248e89c6bc138f65ea1992de3a2f54a522 (diff)
downloadgcc-4decc1062f0f6eb44209d9d5a26a744ffa474648.zip
gcc-4decc1062f0f6eb44209d9d5a26a744ffa474648.tar.gz
gcc-4decc1062f0f6eb44209d9d5a26a744ffa474648.tar.bz2
libstdc++: Adjust expected locale-dependent date formats in tests
The std/time/year_month_day/io.cc test assumes that %x in the fr_FR locale is %d/%m/%Y but on FreeBSD it is %d.%m.%Y instead. Make the test PASS for either format. Similarly, 27_io/manipulators/extended/get_time/char/2.cc expects that %a in the de_DE locale is "Di" but on FreeBSD it's "Di." with a trailing period. Adjust the input string to be "1971 Di." instead of "Di 1971" and that way if %a doesn't expect the trailing '.' it simply won't extract it from the stream. This fixes: FAIL: std/time/year_month_day/io.cc -std=gnu++20 execution test FAIL: 27_io/manipulators/extended/get_time/char/2.cc -std=gnu++17 execution test libstdc++-v3/ChangeLog: * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Adjust input string so that it matches %a with or without a trailing period. * testsuite/std/time/year_month_day/io.cc: Adjust expected format for %x in the fr_FR locale.
-rw-r--r--libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc6
-rw-r--r--libstdc++-v3/testsuite/std/time/year_month_day/io.cc2
2 files changed, 4 insertions, 4 deletions
diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
index 6104349..b582967 100644
--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
@@ -35,9 +35,9 @@ void test01()
VERIFY( loc_de != loc_c );
istringstream iss;
iss.imbue(loc_de);
- iss.str("Di 1971");
- tm time1;
- iss >> get_time(&time1, "%a %Y");
+ iss.str("1971 Di."); // %a is "Di" on some targets, "Di." on others.
+ tm time1{};
+ iss >> get_time(&time1, "%Y %a");
VERIFY(time1.tm_wday == 2);
VERIFY(time1.tm_year == 71);
}
diff --git a/libstdc++-v3/testsuite/std/time/year_month_day/io.cc b/libstdc++-v3/testsuite/std/time/year_month_day/io.cc
index cb82ef3..632b7a0 100644
--- a/libstdc++-v3/testsuite/std/time/year_month_day/io.cc
+++ b/libstdc++-v3/testsuite/std/time/year_month_day/io.cc
@@ -84,7 +84,7 @@ test_format()
s = std::format(loc_fr, "{:%x}", 2022y/December/19);
VERIFY( s == "12/19/22" );
s = std::format(loc_fr, "{:L%x}", 2022y/December/19);
- VERIFY( s == "19/12/2022" );
+ VERIFY( s == "19/12/2022" || s == "19.12.2022" ); // depends on locale defs
s = std::format(loc_fr, "{}", 2022y/December/19);
VERIFY( s == "2022-12-19" );
s = std::format(loc_fr, "{:L%F}", 2022y/December/19);