peter ef92577c9f * changed %fail to %rte for runtime checking 22 lat temu
..
cg 8cc8117930 * oldfpccall typo 22 lat temu
opt 952e80a72f * old logs removed and tabs fixed 23 lat temu
units 238a764a6e + test for strcopy() 22 lat temu
.cvsignore 47758ec9fc + explicit .cvsignore files added 23 lat temu
README f228f4d812 + Added tinivar.pp test 22 lat temu
talign.pp 6fa306abd7 * missing mode objfpc added 23 lat temu
talign1.pp e8a8374e77 * resource string table simple compilation test 23 lat temu
talign2.pp 1c978e95d9 * now check address of tc's also and give error. 23 lat temu
tarray1.pp e7d12a5de3 * renamed test suite 25 lat temu
tarray2.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tarray3.pp 487408c8da + known problems described 22 lat temu
tarray4.pp 487408c8da + known problems described 22 lat temu
tasmread.pp 502f7cce52 * fixes for m68k testing 24 lat temu
tasout.pp 0f0eedba0a * nasm required note added 23 lat temu
tcase1.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tcase2.pp e7d12a5de3 * renamed test suite 25 lat temu
tcg1.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tcg2.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tcint64.pp b95509219c * check for negative int64 constants 24 lat temu
tclass1.pp a78099a64f * extended the tests with inherited call 22 lat temu
tclass2.pp 4aec360876 * fix calling of to1.destroy from to2.destroy 22 lat temu
tclass3.pp e7d12a5de3 * renamed test suite 25 lat temu
tclass4.pp 697b015e3f * fixed 23 lat temu
tclass5.pp b809c662e4 * remove typeof() call on the uninitialized class, because 22 lat temu
tclass6.pp 91dfe9bec5 * compile time class check 23 lat temu
tclass7.pp a0ab7525d0 * mark tclaa7 as a known problem for v1.0 22 lat temu
tenum1.pp e7d12a5de3 * renamed test suite 25 lat temu
testda1.pp 5400c36e4f *** empty log message *** 22 lat temu
testmovd.pp 502f7cce52 * fixes for m68k testing 24 lat temu
tests.pp 8f41503f9f no message 22 lat temu
testsse2.pp 0cb666c270 * fix compile problem 23 lat temu
testv1.pp 371661e332 * 1.1 only 22 lat temu
testv2.pp fa14d04d88 *** empty log message *** 22 lat temu
testv3.pp 371661e332 * 1.1 only 22 lat temu
testv4.pp 371661e332 * 1.1 only 22 lat temu
testv5.pp 371661e332 * 1.1 only 22 lat temu
testv6.pp 371661e332 * 1.1 only 22 lat temu
testv7.pp 371661e332 * 1.1 only 22 lat temu
testv8.pp 371661e332 * 1.1 only 22 lat temu
texception1.pp c37cdcf4e8 * Improved output 22 lat temu
texception2.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
texception3.pp fa934bd43f * more info on memory holes 23 lat temu
texception4.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
texception5.pp 3bd0c0f4b5 no message 22 lat temu
texception6.pp ef92577c9f * changed %fail to %rte for runtime checking 22 lat temu
texception7.pp ef92577c9f * changed %fail to %rte for runtime checking 22 lat temu
texception8.pp 3bd0c0f4b5 no message 22 lat temu
texception9.pp 3bd0c0f4b5 no message 22 lat temu
tfillchr.pp a2dc1e7a9d + fillchar test 22 lat temu
tfpu1.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tfpu2.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tfpu3.pp cc47536e71 fsub check enhanced 23 lat temu
tfpu4.pp cc47536e71 fsub check enhanced 23 lat temu
tfpu5.pp cc47536e71 fsub check enhanced 23 lat temu
tfpuover.pp 4a4d7cd40d test for fpu overflow 24 lat temu
tgoto.pp e7d12a5de3 * renamed test suite 25 lat temu
theap.pp e7d12a5de3 * renamed test suite 25 lat temu
thintdir.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
timplprog.pp 6a694bf11f * test should fail now 24 lat temu
tinivar.pp 780b31cdb3 + Test for locally initialized variables 22 lat temu
tinlin64.pp 42035e7283 + new test for in64 value parameter push inlined 24 lat temu
tinline1.pp e7d12a5de3 * renamed test suite 25 lat temu
tinline2.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tint641.pp e7d12a5de3 * renamed test suite 25 lat temu
tint642.pp f25dbcea16 * use more reasonable iteration counts for this test 22 lat temu
tinterface1.pp 8af1cb19ee *** empty log message *** 23 lat temu
tinterface2.pp b9a0b3108a * update 25 lat temu
tinterface3.pp b9a0b3108a * update 25 lat temu
tinterrupt.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tintuint.pp d24fa6492c + catch RTE 201 22 lat temu
tlibrary1.pp 405bc99c16 * renamed tlibrary to tlibrary1 so it'll be compiled before tlibrary2 23 lat temu
tlibrary2.pp 3897bcb765 * avoid failure on dummy test 22 lat temu
tmath1.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tmmx1.pp 502f7cce52 * fixes for m68k testing 24 lat temu
tmove.pp 41a008a3bc + test for move() procedure 22 lat temu
tmt1.pp 1144e7ccce * made the test threadsafe :) 23 lat temu
tobject1.pp e7d12a5de3 * renamed test suite 25 lat temu
tobject2.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tobject3.pp 6b3159d30e * Return runerror 219 23 lat temu
toperator1.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
toperator2.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
toperator3.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
toperator4.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
toperator5.pp cf6c0a1a54 * ucomplex will be delivered with 1.1 23 lat temu
tover1.pp 1dea3ef6b5 * overloaded string routines testing 23 lat temu
tpara1.pp e2719218f8 * several fixes to run also with kylix 24 lat temu
tprocvar1.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tprocvar2.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
trange1.pp e2719218f8 * several fixes to run also with kylix 24 lat temu
trange2.pp 11ab2b888a * compiles with 1.1 25 lat temu
trange3.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
trange4.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
trange5.pp 6f8c7b37c4 * fix trange5 for big endian machines 22 lat temu
tresstr.pp e7d12a5de3 * renamed test suite 25 lat temu
trtti1.pp b9a0b3108a * update 25 lat temu
trtti2.pp 7aae5f99f1 * runs now with 1.0.x as well 24 lat temu
trtti3.pp b9a0b3108a * update 25 lat temu
tset1.pp e7d12a5de3 * renamed test suite 25 lat temu
tset2.pp 992fe2b52c * test now returns exitcode 1 in case something went wrong 22 lat temu
tstack.pp 6f2a3683f8 * check that an infinite recursion generates RTE 202 or at least 216 22 lat temu
tstprocv.pp 010beefd28 * procvar types checks for strings args should be stricter 23 lat temu
tstring1.pp e7d12a5de3 * renamed test suite 25 lat temu
tstring2.pp e7d12a5de3 * renamed test suite 25 lat temu
tstring3.pp e7d12a5de3 * renamed test suite 25 lat temu
tstring4.pp 706de77ef7 * fixed for ppc 22 lat temu
tstring5.pp 952e80a72f * old logs removed and tabs fixed 23 lat temu
tstring6.pp 221cec9d92 * widestring tests based on the ansistring test program 24 lat temu
tstring7.pp 16bd288cae * simple test that failed for m68k 24 lat temu
tstrreal1.pp e7d12a5de3 * renamed test suite 25 lat temu
tstrreal2.pp e7d12a5de3 * renamed test suite 25 lat temu
tsubdecl.pp 375eca81ae + initial version 23 lat temu
tunit1.pp 1b28fe0e03 * more type redefining tests 24 lat temu
tunit2.pp 093c0c3921 * 1.1 update 24 lat temu
tunit3.pp 1b28fe0e03 * more type redefining tests 24 lat temu
uimpluni1.pp 7c067cef8a * renamed 25 lat temu
uimpluni2.pp 7c067cef8a * renamed 25 lat temu
utasout.pp 9c95811fc0 * Renamefest 23 lat temu
uunit1.pp 1b28fe0e03 * more type redefining tests 24 lat temu
uunit2a.pp 1b28fe0e03 * more type redefining tests 24 lat temu
uunit2b.pp 1b28fe0e03 * more type redefining tests 24 lat temu
uunit3a.pp 1b28fe0e03 * more type redefining tests 24 lat temu
uunit3b.pp 1b28fe0e03 * more type redefining tests 24 lat temu
uunit3c.pp 1b28fe0e03 * more type redefining tests 24 lat temu

README

This directory contains tests for several parts of the compiler and RTL


--------------------------------------------------------------------
Code generator
--------------------------------------------------------------------
These tests should be considered unitary, as they only verify
simple cases of the code generator. Used for porting to other
architectures. Tries to validate all possible Location types
valid for that node. They are based on tests on these
reference platforms:
Borland Pascal v7.01
Delphi 3.0
Delphi 4.0
Delphi 6.0 Personal Edition

'Natural type' is a signed 32-bit value on 32-bit architectures.
'Natural type' is a signed 64-bit value on 64-bit architectures.


--------------------------------------------------------------------
Compiler
--------------------------------------------------------------------


Shortstrings .......... tstring1.pp compatibility and speed of shortstrings
tstring2.pp some misc. tests mainly collected
from bug reports
tstring3.pp Typed Constant string loading from
other constants
tstring4.pp Ansistring #1
tstring5.pp Ansistring #2
Classes ............... tclass1.pp AfterConstruction
tclass2.pp BeforeDestruction
Objects ............... tobject1.pp Fail in constructor
Exceptions ............ texception1.pp
texception2.pp
texception3.pp
texception4.pp Math exceptions
Procedure Variable .... tprocvar1.pp
tprocvar2.pp
Libraries ............. testlib.pp a very primitive test
Parameter passing ..... tpara1.pp Out Parameter

Units ................. testu1.pp tests init. & finalization and halt
testu2.pp in finalization
testu3.pp a type redefining problem
testu4.pp
testu5.pp
case .................. tcase1.pp tests case statements with byte and word
sized decision variables
tcase2.pp tests case with sub enum types
Arrays ................ tarray1.pp open arrays with classes
tarray2.pp Array of const
tarray3.pp Array of Char #1 (Known bug)
tarray4.pp Array of Char #2 (Known bug)
Enumerations .......... tenum1.pp tests assignments of subrange
enumerations
Codegenerration ....... tcg1.pp i386 pushw
tcg2.pp saveregisters
tinivar.pp initial values for local variables (1.1)
Inline ................ tinline1.pp tests recursive inlining, inlining
a procedure multiple times and
inlining procedures in other
inline procedures.
tinlin64.pp tests for a problem in pushing 64bit parameters
by value.
TypeInfo .............. trtti2.pp test the function system.typeinfo
trtti3.pp tests the procedure system.finalize
Resourcestrings ....... tresstr.pp tests a simple resource string
Range checking ........ trange1.pp range checking when converting int64/
qword to longint/cardinal
trange2.pp range checking when converting
between longint and cardinal
trange3.pp range checking for array
trange4.pp range checking when assigning
values to int64/qword
Floating Point ........ tfpu1.pp
tfpu2.pp
Assembler readers.......tasmread.pp tests for support of unit or program specifier
testmovd.pp testspecial issues about MOVD instruction
tasout.pp tests a problem if a unit is compiled with nasm

--------------------------------------------------------------------
RTL
--------------------------------------------------------------------

SYSTEM
------
str/write(real_type) .. tstrreal1.pp test correct rounding
tstrreal2.pp test correct writing of 10 till 1e-24
Heap .................. theap.pp Heap manager test
input/output .......... /units/system/tiorte.pp tests inoutres values of invalid operations
Random ................ /units/system/trandom.pp tests random (interactive)

DOS
---
General .............. /units/dos/tdos.pp (interactive)
General .............. /units/dos/testdos.pas (interactive)
FExpand .............. /units/dos/tfexpand.pp

CRT
---
General .............. /units/crt/tcrt.pp tests most crt unit functions (interactive)