bug-make
[Top][All Lists]
Advanced

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

[bug #15947] tests/features/escape - 'path=p\:' test fails on Cygwin - c


From: greg keranen
Subject: [bug #15947] tests/features/escape - 'path=p\:' test fails on Cygwin - cannot stat illegal filename
Date: Wed, 1 Mar 2006 20:27:08 +0000
User-agent: Opera/8.52 (Windows NT 5.1; U; en)

Follow-up Comment #1, bug #15947 (project make):

In rethinking my proposed solution, I don't like the idea of 
simply skipping the test. Instead, I thought a better solution would be to
try it with .PHONY : $(path)foo

But, unfortunately, this gives the same error as original: 
    make: stat: p:foo: No medium found

Should make really be trying to stat $(path)foo when it has been declared as
.PHONY?

Here is the relevant section of my revised tests/features/escape, complete
file also attached:
[...]
print MAKEFILE <<'EOF';
$(path)foo : ; @echo cp $^ $@

foo\ bar: ; @echo 'touch "$@"'

sharp: foo\#bar.ext
foo\#bar.ext: ; @echo foo\#bar.ext = '$@'
# for bug #15947:
ifdef port_type
.PHONY : $(path)foo
endif
#$(warning path=$(path))
#$(warning port_type=$(port_type))
EOF
[...]
# TEST 3: This one should work, since we escape the ":".

if (false){
#  2006.03.01 address@hidden - avoid test entirely? - poor 'fix' for bug
#15947:
        # CAVEAT: this may also fail on other systems. May need to filter out 
other
$port_type values
        if ($port_type != 'W32' && $port_type != 'DOS')
        {
                # TEST 3: This one should work, since we escape the ":".
                &run_make_with_options($makefile, "'path=p\\:'", &get_logfile, 
0);
                $answer = "cp p:foo\n";
                &compare_output($answer,&get_logfile(1));
        }
} else {
# 2006.03.01 address@hidden - shouldn't this should work using .PHONY ?
# - fails to fix error of 'make: stat: p:foo: No medium found' in Cygwin
        $escape_options = "'path=p\\:'";
        
        if ($port_type == 'W32' || $port_type == 'DOS')
        {
        # for bug #15947:
                $escape_options .= " 'port_type=$port_type'";
        } 
        &run_make_with_options($makefile, $escape_options, &get_logfile, 0);
        $answer = "cp p:foo\n";
        &compare_output($answer,&get_logfile(1));

}

--- RESULT:
address@hidden tests]$ ./run_make_tests features/escape
[...]
features/escape ......................................... FAILED (5/6
passed)

1 Test in 1 Category Failed (See .diff files in work dir for details) :-(

--- FILE: escape.diff.2:

*** work/features/escape.base.2 Wed Mar  1 12:13:52 2006
--- work/features/escape.log.2  Wed Mar  1 12:13:52 2006
***************
*** 1 ****
--- 1,3 ----
+ make: stat: p:foo: No medium found
  cp p:foo
+ make: stat: p:foo: No medium found

    _______________________________________________________

Additional Item Attachment:

File name: escape                         Size:2 KB
attempt to run test using .PHONY : $(path)foo
<http://savannah.gnu.org/bugs/download.php?item_id=15947&item_file_id=3463>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=15947>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

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