Merge : re-applies missing part of fix for Bug 2901,Add export for s60ibymacros.pm
<HTML>
<HEAD>
<TITLE> Resource compiler test code
</TITLE>
<!--
Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved.
This component and the accompanying materials are made available
under the terms of the License "Eclipse Public License v1.0"
which accompanies this distribution, and is available
at the URL "http://www.eclipse.org/legal/epl-v10.html".
Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
Description:
-->
</HEAD>
<BODY>
<H1 ALIGN = CENTER>
RCOMP test code
</H1>
Test procedures can be run from MNT TEST. This invokes TEST.CMD in the
test code directory. The procedure takes a parameter ALL to run all of the
tests or a number to run a specific test. TEST HELP says what each test
does briefly. Here is a more complete explanation.
<H2>
Tests
</H2>
<H3>Test 1</H3>
This performs various compilations of resource files and checks to see if the
results are the same as in previous versions. Unfortunately, because the
comparison utilities don't return a flag, results have to be inspected by
eye. The test procedure tells you which files to inspect.
<P>
Note that some compiler warnings about deprecated non-unicode character values
will be output during this test.
<H3>Test 2</H3>
This compiles a test source file containing deliberate errors. Because the
compiler usually stops when it encounters an error, this is done by
repeatedly compiling the same source with different preprocessor flags
set to enable the offending text. This is driven by a file called TEST2.DAT
which contains the flags and a brief description of their effects.
<P>
Unfortunately (again), the error messages from the compiler can't be easily
redirected for automated testing so they have to be inspected by eye. The
output is adjusted to keep this uncluttered on the screen.
<P>
The current set of errors is as follows:
<DL>
<DT>STUPID
<DD>Tries to define an unknown character set. This just generates
a warning mesage.
<DT>ERROR_INVALID_MEMBER
<DD>A resource member keyword is mis-spelled. This gives a wonderful
"Label not found" error.
<DT>MAIN_SYNTAX_ERROR_1
<DD>STRUCT is mis-spelled as STRICT, giving a "Syntax error".
<DT>H_SYNTAX_ERROR_1
<DD>As above but in an include file, so you can see that the filename
where the error occurs is reported correctly.
<DT>ERROR_MISSING_STRUCT
<DD>Leave out a struct definition. This gives another "label not found"
message.
</DL>
<HR>
</BODY>
</HTML>