bug-coreutils
[Top][All Lists]
Advanced

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

Re: Test failures in coreutils-5.3.0 on cygwin


From: Eric Blake
Subject: Re: Test failures in coreutils-5.3.0 on cygwin
Date: Wed, 12 Jan 2005 07:14:53 -0700
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

According to Jim Meyering on 1/11/2005 10:09 AM:
>> Once I manually patched the corresponding Makefile.ins, I don't get very
>>far into the testsuite (1 of 5 failed under tests/chgrp), see
>>coreutils.check3.  I haven't yet had time to figure out how to get any
>>further.

As for tests/chgrp/basic, further investigation shows that you are using
`ls -c -t f g' to sort the listings of the two files.  Did you intend to
sort by ctime or by mtime?  The failure is that cygwin is listing g as
older than f.  Unfortunately, the temp files are deleted as part of the
test; I tried reproducing the steps of the test in my /tmp:

$ touch f
$ chown --from=:None -c :root f
changed ownership of `f' to :root
$ touch f g
$ ~/coreutils-5.3.0/src/chgrp None f g
$ ~/coreutils-5.3.0/src/chgrp root g
$ sleep 1
$ ~/coreutils-5.3.0/src/chgrp None f
$ ~/coreutils-5.3.0/src/chgrp '' f
$ stat f g
  File: `f'
  Size: 0               Blocks: 0          IO Block: 1024   regular empty file
Device: d47c93feh/-730033154d   Inode: 340645      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1007/  eblake)   Gid: (  513/    None)
Access: 2005-01-12 06:52:19.421500000 -0700
Modify: 2005-01-12 06:52:19.421500000 -0700
Change: 2005-01-12 06:51:35.952750000 -0700
  File: `g'
  Size: 0               Blocks: 0          IO Block: 1024   regular empty file
Device: d47c93feh/-730033154d   Inode: 407455      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1007/  eblake)   Gid: (    0/    root)
Access: 2005-01-12 06:52:19.421500000 -0700
Modify: 2005-01-12 06:52:19.421500000 -0700
Change: 2005-01-12 06:52:19.421500000 -0700
$ ls -t f g
f  g
$ ls -c f g
g  f
$ ls -c -t f g
g  f

Is there a bug in the cygwin syscalls used by chgrp not changing the ctime
like it should?

You may want to consider moving the testsuite to an autotest framework
from autoconf.  That would help in pinpointing some of the bugs, and has
better support for keeping all temp files around when a test fails.

> 
> 
> If you run `make -k check', it will keep going in spite of failures.

Nope, even with `make -k check', my run ends in:
======================================
1 of 5 tests failed
Please report to address@hidden
======================================
make[3]: *** [check-TESTS] Error 1
make[3]: Leaving directory `/home/eblake/coreutils-5.3.0/tests/chgrp'
make[2]: *** [check-am] Error 2
make[2]: Target `check' not remade because of errors.
make[2]: Leaving directory `/home/eblake/coreutils-5.3.0/tests/chgrp'
make[1]: *** [check-recursive] Error 1
make[1]: Target `check' not remade because of errors.
make[1]: Leaving directory `/home/eblake/coreutils-5.3.0/tests'
make: *** [check-recursive] Error 1
make: Target `check' not remade because of errors.

> 
> Thanks for the report and patch.
> I've made that change.
> 
> Note that those patches don't apply because something (your mail
> client?) converted all TABs to spaces.

User error -- I had copied and pasted from my terminal, rather than
attaching, which flattened to spaces.  One more patch is necessary to
account for $(EXEEXT): since `groups' is a script and does not have
$(EXEEXT), the .x.1 rule was breaking when it tried to build groups.1.

Updating man page groups.1
groups.td/groups.exe: not found
help2man: can't get `--help' info from groups.td/groups.exe
make: *** [groups.1] Error 127

2005-01-12  Eric Blake  <address@hidden>  (tiny change)

        * man/Makefile.am (.x.1): Don't use $(EXEEXT).

Also, I noticed that you have both coreutils-5.3.0/tests/tr/repeat-compl.I
and coreutils-5.3.0/tests/tr/repeat-Compl.I in the tarball (and the
problem still exists in CVS).  This breaks in cygwin, which has case
insensitive file names (only one of the two files gets unpacked), and is
also a violation of the 8.3 file uniqueness naming rules required for
porting to djgpp.  Please consider renaming files to make coreutils
DOS-friendly.

-- 
Life is short - so eat dessert first!

Eric Blake             address@hidden
--- man/Makefile.am.orig        2005-01-12 06:28:49.655875000 -0700
+++ man/Makefile.am     2005-01-12 06:29:13.030875000 -0700
@@ -128,10 +128,10 @@
        @rm -f $@
        @echo "Updating man page $@";           \
        mkdir $t;                               \
-       (cd $t && $(LN_S) ../../src/$(mapped_name)$(EXEEXT) $*$(EXEEXT)); \
+       (cd $t && $(LN_S) ../../src/$(mapped_name) $*); \
        $(PERL) -- $(srcdir)/help2man           \
            --include=$(srcdir)/$*.x            \
-           --output=$@ $t/$*$(EXEEXT)
+           --output=$@ $t/$*
        @chmod a-w $@
        @rm -rf $t
 

reply via email to

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