--| Copyright (c) 1993-2019 University of Southern California, Eiffel Software and contributors. --| All rights reserved. --| Your use of this work is governed under the terms of the GNU General Public --| License version 2. Installation instructions (copy of the page at https://dev.eiffel.com/Eweasel_How_To) ==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://svn.eiffel.com/eiffelstudio/trunk/eweasel ==Setting up an EiffelStudio delivery for eweasel== To perform testing, you need a modified version of the EiffelStudio delivery, refer to those [[Building_a_delivery|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|Dr Watson]] page as otherwise on non-working tests, the eweasel regression will stop until you click OK on the debugging dialog. ==Compiling eweasel== You need to compile the eweasel engine to run the tests. To do so, go in ''$EWEASEL/compilation'' and execute the '''install_eweasel''' script (.bat for windows). ==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. ==Analyzing the results== You should use the [[Eweasel_Comparator|Eweasel Comparator]] tool and compare your results with one of the reference one from the results subdirectory of eweasel.