Eweasel How To

Revision as of 14:44, 30 November 2006 by Manus (Talk | contribs) (Changed category)

Getting eweasel

First you need to get the source code of eweasel. It is part of the EiffelStudio SVN repository under trunk/eweasel. Let's suppose you have a Test directory available, here is what you need to do in this directory:

svn co https://eiffelsoftware.origo.ethz.ch/svn/es/trunk/eweasel eweasel

Setting up an EiffelStudio delivery for eweasel

To perform testing, you need a modified version of the EiffelStudio delivery, refer to those instructions for building one. Note that you need as many deliveries as platforms you are testing (thankfully the deliveries can be all done in the same location since we distinguish them through the spec/$ISE_PLATFORM/ paradigm).

Setting up your environment

You need to define the following environment variable:

  • ISE_EIFFEL should point to your EiffelStudio delivery (made above)
  • ISE_LIBRARY should point to the same value as $ISE_EIFFEL
  • ISE_PLATFORM should be your platform name (e.g. windows, win64, linux-x86, solaris-sparc, etc...). However for .NET, it has to be dotnet.
  • EWEASEL should be Test/eweasel (replace Test by the absolute path to the Test directory)
  • EWEASEL_OUTPUT should be set to a directory location used by the test engine to perform the compilations and keeping any outputs produced by the tests. If not set it will be in $EWEASEL/tmp.

And you also need to update your PATH environment variable so it reads:

  • On Unix: $EWEASEL/spec/$ISE_PLATFORM/bin
  • On Windows: $EWEASEL/spec/windows/bin

We recommend that you do the above in a script that you will launch each time you want to perform the testing. That way those settings won't interfere with the official delivery of EiffelStudio.

Windows only

You need to update your C compiler flags so that it always generates a DOS application (on Windows default is a GUI application) because eweasel needs to redirect the output of the applications to a file. It depends on the C compiler:

  • For Microsoft, edit the file $ISE_EIFFEL/studio/config/$ISE_PLATFORM/msc/config.eif and modify it so that it specifies -SUBSYSTEM:CONSOLE instead of -SUBSYSTEM:WINDOWS.
  • For Borland, edit the file $ISE_EIFFEL/studio/config/$ISE_PLATFORM/bcb/config.eif and modify it so that it specifies -ap instead of -aa.

You may also want to read the Dr Watson page as otherwise on non-working tests, the eweasel regression will stop until you click OK on the debugging dialog.

Launching the test

In $EWEASEL/bin you will find scripts call run_eweasel, run_eweasel_catalog and run_eweasel_filter (add the .bat extension for Windows) which helps you launch tests.

  • run_eweasel: copy the right `general.cfg' file to your delivery, checkout the latest version of the libraries from the EiffelStudio delivery, precompiles the precompiled libraries needed by eweasel, launch eweasel and store the results in a file.
  • run_eweasel_catalog: run the tests from a specified catalog
  • run_eweasel_filter: run one particular test

On a recent machine (from 2006), running all the tests should take about 4h or less.