support/tst-test_compare: Fix 32-bit/64-bit expected output mismatch

The use of a long type resulted in test output differences between
32-bit and 64-bit architectures, causing the test to fail on 32-bit
architectures.
This commit is contained in:
Florian Weimer 2017-12-05 15:08:59 +01:00
parent 216933b242
commit da616c1496
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2017-12-05 Florian Weimer <fweimer@redhat.com>
* support/tst-test_compare.c (subprocess): Use long long instead
of long argument for consistent type width across 32-bit and
64-bit architectures.
(do_test): Adjust expected output.
2017-12-05 Joseph Myers <joseph@codesourcery.com>
* sysdeps/powerpc/fpu/s_cosf.c: Include <libm-alias-float.h>.

View File

@ -27,7 +27,7 @@ subprocess (void *closure)
/* These tests should fail. */
TEST_COMPARE (ch, -1); /* Line 28. */
TEST_COMPARE (2LL, -2LL); /* Line 29. */
TEST_COMPARE (3L, (short) -3); /* Line 30. */
TEST_COMPARE (3LL, (short) -3); /* Line 30. */
}
struct bitfield
@ -86,7 +86,7 @@ do_test (void)
" right: -2 (0xfffffffffffffffe); from: -2LL\n"
"tst-test_compare.c:30: numeric comparison failure"
" (widths 64 and 32)\n"
" left: 3 (0x3); from: 3L\n"
" left: 3 (0x3); from: 3LL\n"
" right: -3 (0xfffffffd); from: (short) -3\n") == 0);
/* Check that there is no output on standard error. */