Bugs item #1611154, was opened at 2006-12-07 22:25 Message generated for change (Comment added) made by eggert You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1611154&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Python Library Group: Python 2.5 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Eggert (eggert) Assigned to: Nobody/Anonymous (nobody) Summary: os.path.exists("file/") failure on Solaris 9 Initial Comment: Solaris 9 and earlier fail to conform to POSIX, in that stat("FILE/") succeeds even when FILE is not a directory. POSIX says that in this case it should fail. This problem causes os.path.exists("FILE/") to succeed when it should fail, which makes it harder to write portable Python code. One of my students ran into this problem when doing a Django-based project: his code ran fine on his Linux box, but failed when he attempted to run it on the Solaris 8 server that is the standard platform for our students. To reproduce the problem, on Solaris 8 (or 9): $ touch file $ ls -l file -rw-rw-r-- 1 eggert csfac 0 Dec 7 14:19 file $ python Python 2.5 (r25:51908, Dec 7 2006, 13:14:10) [GCC 4.1.1] on sunos5 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.path.exists("file/") True It should be False. I'll attach a patch that works around the problem at run-time. If you prefer something that tests for it at compile time please let me know. ---------------------------------------------------------------------- >Comment By: Paul Eggert (eggert) Date: 2006-12-22 07:56 Message: Logged In: YES user_id=17848 Originator: YES OK, I'll attach a revised patch that uses a configure test to check for this bug. File Added: python-stat-patch-2.diff ---------------------------------------------------------------------- Comment By: A.M. Kuchling (akuchling) Date: 2006-12-20 13:37 Message: Logged In: YES user_id=11375 Originator: NO I think it would be sufficient to put a #ifdef <solaris 9> ... #endif around the additional check. We don't want to make all platforms do extra system calls in order to avoid a Solaris 9 bug. Or you could write a configure test to check for this bug, but that's more complicated a task. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1611154&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com