Matt Jones
Email: <matt.wine@mhjones.org>
Goals
I'm trying to get Mono 1.2 to run non-trivial applications under wine. To accomplish this I've written a series of testing scripts for mono-under-wine that automate and interpret the built-in mono regression tests.
TODO List
Immediate:
- Intro/walkthrough to running individual tests
- Fix Mono-1.2 GC bug (again)
- Look into DLL loading error in Mono-1.2
Farther into the future:
Mono has a tool called Moma - it lets you "audit" an assembly to see how it should perform under mono. It uses markup in the source to display this information. I'd be interested in playing around with a similar tool for wine, which would hook into both stub lists & test results.
Building Mono-1.2 from SVN on windows
I've been building revision 83139 from svn. The svn source is very temperamental - I'd suggest finding a version that works and then being very careful about how you upgrade. Note: I'm not just using the stable source, as 1.2.4 contains a crashing bug under windows when certain debug flags are set.
Follow the directions at http://www.ondotnet.com/pub/a/dotnet/2005/02/07/monowindows.html?page=1 to build mono for windows with the following changes during cygwin install/post-install:
- When you install cygwin, don't install glib2 or make.
Copy 'usr/bin/make.exe' from the archive at http://www.go-mono.com/archive/helper/make-3.80-1.tar.bz2 to '/usr/bin/' in cygwin
- Copy installation directory of your build to your linux host
- Install an official windows build of mono (I used 1.2.4 for my build of r83139)
- Extract installation directory over the official build
- The mono installation bundles lots of extra dependency libraries, so this saves you from doing lots of extra work
- This isn't entirely foolproof - a couple of things break (which we don't need for the tests), so this doesn't create a fully usable mono build
- Extract installation directory over the official build
- You now have a full mono build ready to play with under wine!
You can try playing around with the MONO_DEBUG=(various, it will give you examples if you set it to garbage text) and MONO_LOG_LEVEL=debug to get a better idea of what's happening.
Using Mono Testing Scripts
Example (old, running Mono-1.13.8.2 on various revisions of wine): http://mhjones.org/wine/wine-tests/htmltest/index.py.html
Git Repository: http://mhjones.org/wine/wine-test-reader.git
The best way to use the scripts is to download them and follow the README. There is an initial setup script and a nightly update script included, which should automate almost everything.
You'll need around 2.5G to build/run the wine portion. After that, you'll be able to browse the test results and compare the various platforms
How to interpret test results
TODO
