[Top][All Lists]

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

Re: make/tests issues

From: Earnie Boyd
Subject: Re: make/tests issues
Date: Wed, 10 Mar 2004 20:12:45 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20031007

J. Grant wrote:

Hi Earnie,

Thanks for your email.

on the 10/03/04 23:11, Earnie Boyd wrote:

Which GNU diff are you using? The diff that comes with MSYS doesn't output \r\n only \n line endings.

I am using MSYS GNU diff v2.7.  This output distinguishes \r\n and \n in
input files and outputs including these differences.  Did you mean that
MSYS diff would only output \n ?


These difficulties stem from using the native w32 build of make with
MSYS as the test environment.

Ah, I had missed that point. Does it help the test case if you add /mingw/lib/binmode.o to the link?

To the file, before "$slurp = &read_file_into_string ($logfile);", then
the script continues ok.  I adjust the logfile to be in \n format as
MSYS perl is expecting (before it loads it).  However, the diff created
later is mealy evidence there do not seem to be checks on the diff output.

If the input file to diff contains \r\n then the output of diff will also. If you use the -w switch the \r is treated as white space.

The remaining problems I experience when running tests from MSYS are:

1. $pure_log contains "c:\bin\make.exe", [the unlink($pure_log)
command].  This is deleted for some reason after running the test.  So
all subsequent tests fail (unless I am running in the debugger and
manually copy an exe to c:\bin\make.exe again.

2. Purify removal fails error text:

Purify testfiles are: rm -f c:\bin\make.exe.features_comments*
rm: cannot remove `c:binmake.exe.features_comments*': No such file or

I need to modify my bash source for MSYS so that if an argument begins [A-Za-z]:\ the \ is not treated as an escape and is left in the string.

Seems to be treating \ as escape in this case.  This is executed in the
"sub setup_for_test" function, "system("rm $pure_testname*");"

Yes, a known POSIX shell feature.

I added \" around the variable and at it came out as
c:\\bin\\features_comments*, which might work, if the file did exist
there? I never saw it.  Also this works:

What is creating the \ instead of / in the file path? The only problem that I know of with using / instead of \ is within the cmd shell itself.

system("cmd /c \"del $pure_testname*\"");

(if there is a file there)

Help appreciated.

Kind regards




reply via email to

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