make check on Windows (MSYS), with patch
Brian Smith
brianlsmith at gmail.com
Thu Jul 28 21:25:05 EDT 2005
I have attached a patch that allows "make check" run more or less
successfully on Windows. The patch converts Windows-style newlines to
Unix-style newlines from the output of the test, so that when the
actual output is compared to the expected output, the newline
differences don't set off false positives. It also fixes a couple
obvious problems with the tests to make them work on MSYS.
I have also attached the results of "make check." I went through all
the failures and gave some notes below.
./../src/hugs +q -w -pHugs: static/mod154.hs < nul
This seems to be a known bug in Hugs since
mod154.hs says "Hugs gets this wrong."
./../src/hugs +q -w -pHugs: rts/read.hs < rts/read.input
The exponents on floating point numbers include an extra leading
"0": "-3.10862446895044e-015" instead of "-3.10862446895044e-15"
and "2.384186e-007" instead of "2.384186e-07". GHCi strips
all the leading zeros from the exponents in both cases. So, there
is a bug in the tests (doesn't properly take leading zeros into
account in exponents) and/or Hugs (if the Haskell spec. requires
leading zeros to be stripped like GHCi does).
./../src/hugs +q -w -pHugs: rts/arith.hs < rts/arith.input
There is a difference "-0" vs. "0" that seems not totally
unreasonable.
The other difference "inf" vs. "1.#INF" seems like a bug in Hugs.
./../src/hugs +q -w -pHugs: ffi/Sin.hs < ffi/Sin.input
The unexpected signal is troubling, but I don't know what the problem is.
./../src/hugs +q -w -pHugs: ffi/FileIO.hs < ffi/FileIO.input
The unexpected error seems to be caused by the fact that
"/tmp/test_write" is being opened, when this file doesn't exist
normally on Windows. This is a bug in the test.
./../src/hugs +q -w -pHugs: ffi/Sparc.hs < ffi/Sparc.input
I have no idea what is wrong.
./../src/ffihugs +q -w -pHugs: ffi/Callback.hs ffi/callback.c < nul
This test assumes a case-sensitive file system that can
distinguish between "Callback.c" and "callback.c." This test can be
fixed by renaming "Callback.hs" to "CallbackTest.hs" and renaming
callback.c to callback_c.c. Patch included, but you have to do
the renaming of the file yourself.
However, after getting it to build successfully, it still fails with
output "unexpected signal" and exit code 1, and I have no idea why.
./../src/hugs +q -w -pHugs: System libs/system1.hs < libs/system1.input
If I run this test directly it gives the expected output.
But, inside of "make check" it fails because MSYS's SHELL is "sh.exe"
instead of "sh." Patch included.
./../src/hugs +q -w -pHugs: Directory libs/dirTest.hs < libs/dirTest.input
This test fails, but I think it is simply because NTFS doesn't support
the same permission combinations as Unix/Linux. Either a Windows-specifc
version should be written, or the test should be skipped on Windows.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tests.patch
Type: application/octet-stream
Size: 2158 bytes
Desc: not available
Url : http://www.haskell.org//pipermail/cvs-hugs/attachments/20050728/44762f75/tests.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: check.output1
Type: application/octet-stream
Size: 6978 bytes
Desc: not available
Url : http://www.haskell.org//pipermail/cvs-hugs/attachments/20050728/44762f75/check.obj
More information about the Cvs-hugs
mailing list