RE: another manifestation of the .. bug

2005-10-27 Thread Gary R. Van Sickle
 From: Corinna Vinschen

[snip Cygwin non-POSIXness, which unless I'm delirious used to be a big deal
to the Cygwin PTB]

 My point is that I'm happy to make Cygwin mostly POSIX 
 compatible, but that implementing all crude border cases 
 sometimes has more negative impact in other areas (one of 
 them: speed), than it does help to make Cygwin useful (I hear 
 cgf falling from his chair and rolling on the floor laughing 
 in the background).
 

That's why I like the way the OP (?) was going to go about it: add it, test
it, and see what the actual impact on performance is.

-- 
Gary R. Van Sickle


--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: another manifestation of the .. bug

2005-10-26 Thread Corinna Vinschen
On Oct 25 20:02, Eric Blake wrote:
 According to Corinna Vinschen on 10/25/2005 7:27 AM:
  And I really can't see how one testcase fails because Cygwin allows
  something which should fail according to POSIX qualifies for coreutils
  doesn't work out of the box on Cygwin.  Does the coreutils testsuite
  not allow per-target XFAILs?
 
 Coreutils already won't pass the testsuite out of the box on cygwin due to
 other problems, where I am also maintaining cygwin-specific patches; my
 point was that if cygwin is ever fixed, it is one less workaround needing
 my maintainence.  As for the coreutils testsuite, it does not have
 per-target XFAILs, but does have the ability to SKIP tests that are known
 to be invalid if various pre-screening tests show that a platform won't
 support the feature being tested.  However, among all the platforms that
 coreutils is currently ported to, my understanding is that cygwin is the
 only platform that would need such an exemption to skip such tests due to
 the lack of POSIX semantics.

My point is that I'm happy to make Cygwin mostly POSIX compatible, but
that implementing all crude border cases sometimes has more negative
impact in other areas (one of them: speed), than it does help to make
Cygwin useful (I hear cgf falling from his chair and rolling on the
floor laughing in the background).

I'm also inclined to find the coreutils testsuite not overly useful.
What exactly is the coreutils testsuite testing, coreutils or the
underlying OS?  Tests like the above are testing the OS, but that's not
the job of the *coreutils* testsuite, that's the job of a POSIX
compatibility testsuite.

And, *if* the coreutils testsuite tests POSIX compatibility of the
underlying OS, then what is that good for, if not to allow coreutils to
workaround OS kinks in coreutils itself?

After all, Cygwin is not a POSIX OS, it's just an emulation layer and we
already have to do a lot of handstands using the standard Win32 API.
It's ok to get hints where the POSIX compatibility isn't given, but I'm
a bit annoyed right now, since you're just repeating the same point over
and over again.  It doesn't really help since it neither changes the
fact that we already know the problem, nor does it change the fact that
this is a definitive border case.  Just out of curiosity, does
CYGWIN=traverse help here?

Btw, we're only two persons investing more than just a few minutes per
week on Cygwin development and we only have so much time and energy.
Hence you'll see SHTDI and PTC that often.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: another manifestation of the .. bug

2005-10-25 Thread Corinna Vinschen
On Oct 25 07:07, Eric Blake wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 The fact that cygwin incorrectly flattens /name/../ to / in pathname
 resolution without first resolving name is triggering a failure in a new
 test recently added to the coreutils testsuite.
 
 mkdir -p dir/..  test -d dir
 
 should always succeed when dir did not exist beforehand, but because
 cygwin is flattening stat(dir/..) into stat(.) rather than failing
 with the required ENOENT when dir does not yet exist, mkdir does not go on
 to create dir.  I can work around this issue in coreutils by making mkdir
 - -p never use its initial stat() to short-circuit directory creation, but
 this will penalize normal usage because it will force calling mkdir for
 every name in the chain even when the ultimate directory already exists.
 I would much rather see a fix in cygwin so that coreutils would work out
 of the box in this case.
 
 Yes, I know, http://cygwin.com/acronyms/#SHTDI.  And yes, I realize that
 such a change, if it is to ever happen, would be post-1.5.19, because of
 its potential impact.

And I really can't see how one testcase fails because Cygwin allows
something which should fail according to POSIX qualifies for coreutils
doesn't work out of the box on Cygwin.  Does the coreutils testsuite
not allow per-target XFAILs?


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: another manifestation of the .. bug

2005-10-25 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

According to Corinna Vinschen on 10/25/2005 7:27 AM:
I would much rather see a fix in cygwin so that coreutils would work out
of the box in this case.

 
 And I really can't see how one testcase fails because Cygwin allows
 something which should fail according to POSIX qualifies for coreutils
 doesn't work out of the box on Cygwin.  Does the coreutils testsuite
 not allow per-target XFAILs?

Coreutils already won't pass the testsuite out of the box on cygwin due to
other problems, where I am also maintaining cygwin-specific patches; my
point was that if cygwin is ever fixed, it is one less workaround needing
my maintainence.  As for the coreutils testsuite, it does not have
per-target XFAILs, but does have the ability to SKIP tests that are known
to be invalid if various pre-screening tests show that a platform won't
support the feature being tested.  However, among all the platforms that
coreutils is currently ported to, my understanding is that cygwin is the
only platform that would need such an exemption to skip such tests due to
the lack of POSIX semantics.

Also, it is possible to write a wrapper around stat() that will give POSIX
semantics to .., using intermediate stat() and readlink() calls if the
string contains /...  Someday, I might attempt that task, to see what
sort of impact POSIX semantics has when done at the application layer
instead of the cygwin layer.

- --
Life is short - so eat dessert first!

Eric Blake [EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDXuOp84KuGfSFAYARAruMAJ9af2HA4inDT4sd3nFnNaTjOp7G4ACgzWnb
may3d4cT0QydA5/aJuRR9X8=
=lcMw
-END PGP SIGNATURE-

--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/