bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

posix module build on hurd


From: Simon Josefsson
Subject: posix module build on hurd
Date: Thu, 04 Aug 2011 11:25:22 +0200
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.2 (gnu/linux)

All,

Here is a build log on hurd for all posix-modules including tests, plus
autobuild minus the failing getcwd-tests (see other thread).

http://autobuild.josefsson.org/gnulib/log-201108040804185118000.txt

There are only four failing tests, so we are in really good shape
already.  (Let's see how a build of all modules fare...)

1)
test-linkat.c:193: assertion failed
/bin/bash: line 5: 18402 Aborted                 EXEEXT='' srcdir='.' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_FR='none' LOCALE_TR_UTF8='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR_UTF8='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' 
LOCALE_ZH_CN='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' 
LOCALE_ZH_CN='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_FR='none' 
LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' MAKE='make' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
${dir}$tst
FAIL: test-linkat

Modifying the code here like this:

   191    errno = 0;
   192    ASSERT (linkat (dfd, BASE "link1/", dfd, BASE "sub1", 0) == -1);
   193    printf ("err %d str %s notdir %d\n", errno, strerror (errno), EISDIR);
   194    ASSERT (errno == EEXIST || errno == EPERM || errno == EACCES);

results in

err 1073741845 str Is a directory notdir 1073741845
test-linkat.c:194: assertion failed
Aborted

I don't see EISDIR as a permitted return code for POSIX, so I'll report
this to the hurd people.  What is the "best" error code here?  EEXIST?

2)

test-nanosleep.c:64: assertion failed
/bin/bash: line 5: 18559 Aborted                 EXEEXT='' srcdir='.' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_FR='none' LOCALE_TR_UTF8='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR_UTF8='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' 
LOCALE_ZH_CN='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' 
LOCALE_ZH_CN='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_FR='none' 
LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' MAKE='make' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
${dir}$tst
FAIL: test-nanosleep

Modifying the code here like this:

    57    ts.tv_sec = 0;
    58    ts.tv_nsec = 1;
    59    ASSERT (nanosleep (&ts, &ts) == 0);
    60    /* Remaining time is only defined on EINTR failure; but on success,
    61       it is typically either 0 or unchanged from input.  At any rate,
    62       it shouldn't be randomly changed to unrelated values.  */
    63    ASSERT (ts.tv_sec == 0);
    64    printf ("nsec %d\n", ts.tv_nsec);
    65    ASSERT (ts.tv_nsec == 0 || ts.tv_nsec == 1);

results in

nsec 10000000
test-nanosleep.c:65: assertion failed
Aborted

Likely another hurd issue.  Is there any reasonable reason it behaves
like that?

3)

main:1: spent_time = 0, data_block_size too small
FAIL: test-nonblocking-pipe.sh

I haven't had time to understand this self-test enough to modify it to
print better debug info.  Help?

4)

test-ttyname_r.c:45: assertion failed
/bin/bash: line 5: 19191 Aborted                 EXEEXT='' srcdir='.' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_FR='none' LOCALE_TR_UTF8='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR_UTF8='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' 
LOCALE_ZH_CN='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' 
LOCALE_ZH_CN='none' LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_FR='none' 
LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' MAKE='make' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
LOCALE_FR='none' LOCALE_FR_UTF8='none' LOCALE_JA='none' LOCALE_ZH_CN='none' 
${dir}$tst
FAIL: test-ttyname_r

Modyfing the code here like this:

    46    ret = ttyname_r (fd, buf, 1);
    47    printf ("ret %d ERANGE %d EINVAL %d\n", ret, ERANGE, EINVAL);

prints

ret 1073741846 ERANGE 1073741858 EINVAL 1073741846

so it returns EINVAL instead of ERANGE.  I don't see EINVAL as a
permitted error code, so likely another hurd issue that I'll report.

/Simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]