New testing workflow for Windows (was Re: [PATCH] [DOCS] How to Setup a Windows Builder)
alp at nuanti.com
Wed Nov 13 01:07:03 PST 2013
On 13/11/2013 01:06, Sean Silva wrote:
> +**Notice:** If you do not plan to run the test suite, or sshd server,
> you don't
> +need Cygwin. You can build LLVM + Clang with only Subversion,
> MingwNN, and CMake.
> I feel like the way you are handling these notices is backwards.
This is all very complicated and difficult to document!
I'd like to share an alternative..
At Nuanti we have a setup that can run the full test suite natively on
Windows using only the native Microsoft toolchain and a special BusyBox
binary, so we don't even install MingW or Cygwin on Windows development
This has a number of benefits:
* Full test coverage. Our BusyBox is patched to be compatible with
Unix so we get to run tests that would usually fail due to
* No need for Administrator access. There is nothing to install, no
GNU this or that, just a fresh SVN/git checkout from llvm.org.
* Easy to set up. Just drop the single binary in your PATH or lit folder.
* Escaping and /dev/null hacks for Windows in lit are no longer needed.
* Full in-process execution. Forking is slow on Windows, but with our
approach a full test suite run is reduced close to native timings
comparable to other platforms.
I was planning to upstream this work later in the 3.5 cycle but looking
at how painful the process is at present, and more so the effort to
document it, I feel now like it might be worth pushing ahead earlier.
The patch to lit itself is very small / low-impact and most of the work
is in BusyBox itself.
I can get this work Open Sourced along with a build of the drop-in
llvm-busybox.exe later today if it sounds desirable.
Certainly it'd reduce much of this document to just "Copy
llvm-busybox.exe into your PATH"
How does this sound?
If you like the idea, let me know soon as today's the best time for me
to pull this all together and post the lit side of the work for review.
the browser experts
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits