[Top][All Lists]

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

Re: make/tests issues

From: J. Grant
Subject: Re: make/tests issues
Date: Thu, 11 Mar 2004 00:42:32 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030824

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.

I'll need to update my CVS version and give the tests another go.

If perl is being used, you should use the version supplied in msysDTK.

Yes I am, I use the latest msysDTK (e.g. perl v5.6.1) with the
individual package updates from, as msysDTK exe installer
versions are a little old..

The perl script does not use diff to determine if there is a difference
though.  It compares the strings in memory, in "sub compare_output"
function in  So I just added the following as a workaround:

local($dos2unix) = "dos2unix " .  $logfile;

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.

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

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

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:

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]