[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #15937] default_names test dies on Cygwin; $port_type = 'UNIX'; sho
From: |
Agent Zhang |
Subject: |
[bug #15937] default_names test dies on Cygwin; $port_type = 'UNIX'; should be 'W32' |
Date: |
Thu, 2 Mar 2006 08:06:35 +0000 |
User-agent: |
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) |
Follow-up Comment #1, bug #15937 (project make):
> default_names attempts to avoid testing with only makefile
> and Makefile present on case-insensitive file systems
> (DOS/WIN32 platforms) by using the test:
> if ($port_type eq 'UNIX')
>
> Unfortunately, Cygwin was set to 'UNIX' (the default
> assignment) and failed the test.
Yeah! This is the only failing test on my Cygwin build of GNU make 3.81rc1.
To be honest, I noticed this problem in features/default_names when I was
porting GNU make 3.81beta4's test suit to my project a few weeks ago.
> --- SOLUTION:
>
> Modify tests/run_make_tests.pl, as follows:
>
> # This is probably not specific enough.
> #
> if ($osname =~ /Windows/i || $osname =~ /MINGW32/i || $osname =~
/CYGWIN_NT/i) {
> $port_type = 'W32';
> }
I disagree.
IMHO, your patch is not general enough. My personal fix is as following:
> $me = $0;
> $me =~ s/[a-z]+/uc($&)/ge or
> $me =~ s/[A-Z]+/lc($&)/ge;
> $CASE_SENSITIVE = not -f $me;
> ...
> if ($CASE_SENSITIVE) {
> # blah blah blah...
> }
I'm not sure if very old perl interpreters support the special variable `$0'.
In case that you know the path of your test script in advance, you can modify
the code given above without using `$0':
> $path = 'scripts/features';
> $me = "$path/default_names";
> ...
The essence is: any platforms which are case-insensitive to file names should
be taken into account. So there won't be any bug reports when other
Cygwin-like monsters born out in the future. :=)
Agent
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=15937>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #15937] default_names test dies on Cygwin; $port_type = 'UNIX'; should be 'W32',
Agent Zhang <=