From patchwork Fri Jun 29 10:05:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajalakshmi S X-Patchwork-Id: 28135 X-Patchwork-Delegate: fweimer@redhat.com Received: (qmail 15655 invoked by alias); 29 Jun 2018 10:05:15 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 15644 invoked by uid 89); 29 Jun 2018 10:05:14 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=neg, UD:n X-HELO: mx0a-001b2d01.pphosted.com From: Rajalakshmi Srinivasaraghavan To: libc-alpha@sourceware.org Cc: Rajalakshmi Srinivasaraghavan Subject: [PATCH] Add long double input for strfmon test Date: Fri, 29 Jun 2018 15:35:04 +0530 x-cbid: 18062910-0016-0000-0000-000001E17FF9 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18062910-0017-0000-0000-00003235CA2C Message-Id: <1530266704-15903-1-git-send-email-raji@linux.vnet.ibm.com> This patch adds long double type inputs in strfmon_l test which will help in long double migration. Tested for powerpc64le. 2018-06-29 Rajalakshmi Srinivasaraghavan * stdlib/tst-strfmon_l.c: Add tests for long double. --- stdlib/tst-strfmon_l.c | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/stdlib/tst-strfmon_l.c b/stdlib/tst-strfmon_l.c index 1994d623eb..c43fe99256 100644 --- a/stdlib/tst-strfmon_l.c +++ b/stdlib/tst-strfmon_l.c @@ -70,16 +70,24 @@ static bool errors; /* Test one value using the locale loc. */ static void -test_one (const char *format, double value, const char *expected) +test_one (const char *format, double value, const char *ldformat, + long double ldvalue, const char *expected) { - static char actual[64]; + static char actual[64], actualld[64]; int result = strfmon_l (actual, sizeof (actual), loc, format, value); + int res_ld = strfmon_l (actualld, sizeof (actualld), loc, ldformat, ldvalue); if (result < 0) { printf ("error: locale %s, format \"%s\", value %g: strfmon_l: %m\n", loc_name, format, value); errors = true; } + else if (res_ld < 0) + { + printf ("error: locale %s, format \"%s\", value %Lg: strfmon_l: %m\n", + loc_name, ldformat, ldvalue); + errors = true; + } else if (strcmp (actual, expected) != 0) { printf ("error: locale %s, format \"%s\", value %g: mismatch\n", @@ -88,21 +96,31 @@ test_one (const char *format, double value, const char *expected) printf ("error: actual: \"%s\"\n", actual); errors = true; } + else if (strcmp (actualld, expected) != 0) + { + printf ("error: locale %s, format \"%s\", value %Lg: mismatch\n", + loc_name, ldformat, ldvalue); + printf ("error: expected: \"%s\"\n", expected); + printf ("error: actual: \"%s\"\n", actualld); + errors = true; + } } static void test_pair (const struct testcase_pair *pair) { double positive = 1234567.89; - test_one ("%i", positive, pair->positive.i); - test_one ("%n", positive, pair->positive.n); - test_one ("%^i", positive, pair->positive.i_ungrouped); - test_one ("%^n", positive, pair->positive.n_ungrouped); + long double pos = 1234567.89L; + test_one ("%i", positive, "%Li", pos, pair->positive.i); + test_one ("%n", positive, "%Ln", pos, pair->positive.n); + test_one ("%^i", positive, "%^Li", pos, pair->positive.i_ungrouped); + test_one ("%^n", positive, "%^Ln", pos, pair->positive.n_ungrouped); double negative = -1234567.89; - test_one ("%i", negative, pair->negative.i); - test_one ("%n", negative, pair->negative.n); - test_one ("%^i", negative, pair->negative.i_ungrouped); - test_one ("%^n", negative, pair->negative.n_ungrouped); + long double neg = -1234567.89L; + test_one ("%i", negative, "%Li", neg, pair->negative.i); + test_one ("%n", negative, "%Ln", neg, pair->negative.n); + test_one ("%^i", negative, "%^Li", neg, pair->negative.i_ungrouped); + test_one ("%^n", negative, "%^Ln", neg, pair->negative.n_ungrouped); } static const struct testcase_pair en_us =