X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:from:to:cc:references:in-reply-to:subject:date
	:message-id:mime-version:content-type; q=dns; s=default; b=hKMBe
	z+3vOtqMoXSYB9M/4dXvahCNcUzTFFl9nGzZKkprPCG6Nq02xnGmjTMQ6d9RoBfl
	D2kGaNVokhhqsyiDq7qLob4B1jn68wUmwyhtGAwaIWlQXHRzS531DYrY0LEptaOG
	6/IBDgbJXBqgB5u4/z8Pt9j2eR1v9GU5o5vtwo=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:from:to:cc:references:in-reply-to:subject:date
	:message-id:mime-version:content-type; s=default; bh=ccqJvkPdoYp
	DlpoNmF5tZsGm8kY=; b=cR6YaB5g3/M+bxgJvL0eogOmowXuJbfBMPsmtC15FJY
	8GriZtfP7u7V/pZbz/k4sIAlvcgQf/e/YKZAs1O5VWWJ4bH17BqBSy+dAodJYW7D
	ec8fMMuGMc+4dnH4w+hysZHLOS2TC+EqGBT/9wEUBZJ6nbT6DEGt1bk60wKaF3TI
	=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2
X-HELO: mailout3.w1.samsung.com
From: Pavel Fedin <p.fedin@samsung.com>
To: cygwin@cygwin.com
Cc: daveroth@acm.org
References: <004101cfe6a8$fac2d340$f04879c0$%fedin@samsung.com> <543C29B9.8040409@acm.org> <002701cfe83b$dfe19090$9fa4b1b0$%fedin@samsung.com> <543EA135.8010809@acm.org>
In-reply-to: <543EA135.8010809@acm.org>
Subject: RE: FW: [BUG] SCons 2.3.0 sometimes cannot find files
Date: Thu, 16 Oct 2014 16:50:42 +0400
Message-id: <000d01cfe93f$cbb8efa0$632acee0$%fedin@samsung.com>
MIME-version: 1.0
Content-type: multipart/mixed; boundary="----=_NextPart_000_000E_01CFE961.52CA8FA0"
X-IsSubscribed: yes

------=_NextPart_000_000E_01CFE961.52CA8FA0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

 Hello!

> The original email you sent did not include any attachment. Can you
> please reply to this email with the test case attached.

 Ops, sorry. I forgot to attach the file. Here it is.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia


------=_NextPart_000_000E_01CFE961.52CA8FA0
Content-Type: text/plain;
	name="test.py"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="test.py"

import os
import sys

# Cygwin's os.path.normcase pretends it's on a case-sensitive filesystem.
_is_cygwin =3D sys.platform =3D=3D "cygwin"
if os.path.normcase("TeSt") =3D=3D os.path.normpath("TeSt") and not _is_cyg=
win:
    def _my_normcase(x):
        return x
else:
    def _my_normcase(x):
        return x.upper()

class Entry:
    def entry_exists_on_disk(self, name):
        try:
            d =3D self.on_disk_entries
        except AttributeError:
            d =3D {}
            try:
                entries =3D os.listdir(self.abspath)
            except OSError:
                pass
            else:
                for entry in map(_my_normcase, entries):
                    d[entry] =3D True
            self.on_disk_entries =3D d
        if sys.platform =3D=3D 'win32':
            name =3D _my_normcase(name)
            result =3D d.get(name)
            if result is None:
                # Belt-and-suspenders for Windows:  check directly for
                # 8.3 file names that don't show up in os.listdir().
                result =3D os.path.exists(self.abspath + OS_SEP + name)
                d[name] =3D result
            return result
        else:
            return name in d

test_entry =3D Entry()
test_entry.abspath =3D '.'
result =3D test_entry.entry_exists_on_disk('test.py')
if result:
    print 'PASS'
else:
    print 'FAIL'


------=_NextPart_000_000E_01CFE961.52CA8FA0
Content-Type: text/plain; charset=us-ascii

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

