Subject: Re: bug#14463: coreutils-8.21 darwin regressions

From: Paul Eggert <[email-masked]>
Date: Fri, 24 May 2013 10:37:55 -0700

On 05/24/2013 06:09 AM, Jack Howarth wrote:
>    I am finding on x86_64-apple-darwin12 that coreutils 8.21 exhibits four additional failures in gnulib-tests
> which aren't present in a build of coreutils 8.19. These are...

> test-getgroups.c:58: assertion failed

Thanks, this makes it looks like Darwin getgroups (n, array)
isn't returning -1 when the user is in more than n groups.
I see from the manual that the Darwin has two getgroups
implementations, one when you define _DARWIN_UNLIMITED_GETGROUPS or
_DARWIN_C_SOURCE, and one when you don't.  Which one are you
using, and why?  And does the one you're using have the
above-described property?  If so, I suppose Gnulib could
be modified to work around the POSIX incompatibility.

> test-getlogin.c:69: assertion failed

What are the values of 'buf' and of 'name' there, and why?

> The full trace for the test-vasprintf-posix test case is rather large and is attached as a gzip file.

It's failing here:

  { /* Rounding near the decimal point.  */
    char *result;
    int retval =
      my_asprintf (&result, "%.0a %d", 1.5, 33, 44, 55);
    ASSERT (result != NULL);
    ASSERT (strcmp (result, "0x1p+0 33") == 0
            || strcmp (result, "0x2p+0 33") == 0
            || strcmp (result, "0x3p-1 33") == 0
            || strcmp (result, "0x6p-2 33") == 0
            || strcmp (result, "0xcp-3 33") == 0);
    ASSERT (retval == strlen (result));
    free (result);
  }

Can you run GDB on that and see what the value of 'result' is?
Most likely it's just the Apple sprintf messing up.

You mentioned a getcwd problem, but I didn't see any
more details....