[darcs-users] making the darcs unit tests run on cygwin's bash.exe
zooko
zooko at zooko.com
Mon Sep 8 13:31:39 UTC 2008
On Sep 8, 2008, at 6:49 AM, Eric Kow wrote:
> Hi Zooko,
>
> Any chance you would be able to modify the WinXP build slave to use
> MSYS
> for testing instead of Cygwin?
No, sorry. That machine is serving several other purposes and the
software installed on it can't be changed for this purpose. Also,
that path risks taking a lot of time to port the darcs unit tests to
MSYS.
> We could start supporting Cygwin, but
> perhaps it would be a better use of manpower to postpone such a
> decision
> until 2.0.3 is released.
Please be careful when talking about cygwin to be precise about what
you mean. "Supporting cygwin" could mean:
a. Making the darcs executable work well when invoked from cygwin
bash. It already does if you use my cygwin wrapper script for darcs,
which is included in the darcs repository and which is built into my
"for cygwin" package which you download from the darcs wiki.
b. Making the darcs unit tests run with cygwin bash, which is the
current issue.
c. Making darcs be compiled as a native cygwin app, which nobody is
talking about and would require a cygwin port of GHC.
d. other?
I think cygwin is confusing to people because it is sort of like an
operating system and sort of not, so it is unfortunately common for
people to talk about it in vague terms.
Anyway, the current problem with the darcs tests, if I understand
correctly, is that the darcs tests want to use a bash shell with a
builtin named "pwd" which returns the current directory in a form
that the local darcs executable can understand. The local darcs
executable, on Windows, understands only Windows-style paths like "C:
\Documents and Settings\blah\blahblah". It is possible that there is
some port of bash out there -- perhaps MSYS, I don't know -- which
emits paths of this kind as the stdout from its "pwd" builtin. Also,
we could do this:
function pwd_that_darcs_understands { if uname | grep -qi cygwin ;
then cygpath -w `pwd` ; else pwd ; fi }
I just tested this in cygwin's bash.exe and in Mac OS X's bash shell,
and it did what was expected.
Regards,
Zooko
---
http://allmydata.org -- Tahoe, the Least-Authority Filesystem
http://allmydata.com -- back up all your files for $5/month
More information about the darcs-users
mailing list