pierre f2a8164736 * file regenerated 23 gadi atpakaļ
..
cg f2a8164736 * file regenerated 23 gadi atpakaļ
opt 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
units fb66ed48d8 + readln testing 23 gadi atpakaļ
.cvsignore 47758ec9fc + explicit .cvsignore files added 24 gadi atpakaļ
README 536e2db15a Updated with current info on tests 23 gadi atpakaļ
talign.pp 6fa306abd7 * missing mode objfpc added 23 gadi atpakaļ
talign1.pp e8a8374e77 * resource string table simple compilation test 23 gadi atpakaļ
talign2.pp 1c978e95d9 * now check address of tc's also and give error. 23 gadi atpakaļ
tarray1.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tarray2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tarray3.pp 1c253e8411 * flagged as known bug 25 gadi atpakaļ
tarray4.pp 1c253e8411 * flagged as known bug 25 gadi atpakaļ
tasmread.pp 502f7cce52 * fixes for m68k testing 24 gadi atpakaļ
tasout.pp 0f0eedba0a * nasm required note added 23 gadi atpakaļ
tcase1.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tcase2.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tcg1.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tcg2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tcint64.pp b95509219c * check for negative int64 constants 24 gadi atpakaļ
tclass1.pp 7a03f8f3b2 no message 25 gadi atpakaļ
tclass2.pp 7a03f8f3b2 no message 25 gadi atpakaļ
tclass3.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tclass4.pp 6b3159d30e * Return runerror 219 23 gadi atpakaļ
tclass5.pp 87d602ac5b + Range check error testing for non-init classes and objects 23 gadi atpakaļ
tenum1.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
testmovd.pp 502f7cce52 * fixes for m68k testing 24 gadi atpakaļ
texception1.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
texception2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
texception3.pp fa934bd43f * more info on memory holes 23 gadi atpakaļ
texception4.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tfpu1.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tfpu2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tfpu3.pp cc47536e71 fsub check enhanced 23 gadi atpakaļ
tfpu4.pp cc47536e71 fsub check enhanced 23 gadi atpakaļ
tfpu5.pp cc47536e71 fsub check enhanced 23 gadi atpakaļ
tfpuover.pp 4a4d7cd40d test for fpu overflow 24 gadi atpakaļ
tgoto.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
theap.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
thintdir.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
timplprog.pp 6a694bf11f * test should fail now 25 gadi atpakaļ
tinlin64.pp 42035e7283 + new test for in64 value parameter push inlined 25 gadi atpakaļ
tinline1.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tinline2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tint641.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tint642.pp 4bf356ab09 * small fixes to tests 23 gadi atpakaļ
tinterface1.pp 8af1cb19ee *** empty log message *** 23 gadi atpakaļ
tinterface2.pp b9a0b3108a * update 25 gadi atpakaļ
tinterface3.pp b9a0b3108a * update 25 gadi atpakaļ
tinterrupt.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tlibrary.pp 9c95811fc0 * Renamefest 23 gadi atpakaļ
tmath1.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tmmx1.pp 502f7cce52 * fixes for m68k testing 24 gadi atpakaļ
tmt1.pp 1144e7ccce * made the test threadsafe :) 23 gadi atpakaļ
tobject1.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tobject2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tobject3.pp 6b3159d30e * Return runerror 219 23 gadi atpakaļ
toperator1.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
toperator2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
toperator3.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
toperator4.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
toperator5.pp 2bd8403fa0 * operator overloading interactive tests 23 gadi atpakaļ
tover1.pp 1dea3ef6b5 * overloaded string routines testing 23 gadi atpakaļ
tpara1.pp e2719218f8 * several fixes to run also with kylix 24 gadi atpakaļ
tprocvar1.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tprocvar2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
trange1.pp e2719218f8 * several fixes to run also with kylix 24 gadi atpakaļ
trange2.pp 11ab2b888a * compiles with 1.1 25 gadi atpakaļ
trange3.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
trange4.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
trange5.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tresstr.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
trtti1.pp b9a0b3108a * update 25 gadi atpakaļ
trtti2.pp 7aae5f99f1 * runs now with 1.0.x as well 25 gadi atpakaļ
trtti3.pp b9a0b3108a * update 25 gadi atpakaļ
tset1.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tset2.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tstprocv.pp 010beefd28 * procvar types checks for strings args should be stricter 23 gadi atpakaļ
tstring1.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tstring2.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tstring3.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tstring4.pp 1ba8fd756e * define COMP_IS_INT64 for m68k cpu 23 gadi atpakaļ
tstring5.pp 952e80a72f * old logs removed and tabs fixed 23 gadi atpakaļ
tstring6.pp 221cec9d92 * widestring tests based on the ansistring test program 24 gadi atpakaļ
tstring7.pp 16bd288cae * simple test that failed for m68k 24 gadi atpakaļ
tstrreal1.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tstrreal2.pp e7d12a5de3 * renamed test suite 25 gadi atpakaļ
tsubdecl.pp 375eca81ae + initial version 23 gadi atpakaļ
tunit1.pp 1b28fe0e03 * more type redefining tests 25 gadi atpakaļ
tunit2.pp 093c0c3921 * 1.1 update 25 gadi atpakaļ
tunit3.pp 1b28fe0e03 * more type redefining tests 25 gadi atpakaļ
uimpluni1.pp 7c067cef8a * renamed 25 gadi atpakaļ
uimpluni2.pp 7c067cef8a * renamed 25 gadi atpakaļ
utasout.pp 9c95811fc0 * Renamefest 23 gadi atpakaļ
uunit1.pp 1b28fe0e03 * more type redefining tests 25 gadi atpakaļ
uunit2a.pp 1b28fe0e03 * more type redefining tests 25 gadi atpakaļ
uunit2b.pp 1b28fe0e03 * more type redefining tests 25 gadi atpakaļ
uunit3a.pp 1b28fe0e03 * more type redefining tests 25 gadi atpakaļ
uunit3b.pp 1b28fe0e03 * more type redefining tests 25 gadi atpakaļ
uunit3c.pp 1b28fe0e03 * more type redefining tests 25 gadi atpakaļ

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
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)