fpc/tests/test
2004-11-22 22:29:26 +00:00
..
cg *** empty log message *** 2004-11-05 19:22:34 +00:00
opt * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
units * unittest 2004-11-16 19:51:06 +00:00
.cvsignore + explicit .cvsignore files added 2002-01-29 07:57:19 +00:00
README + added submitter, machine and comment field to sql version 2003-10-15 21:45:50 +00:00
talign1.pp * resource string table simple compilation test 2002-10-21 21:12:13 +00:00
talign2.pp * 64 bit fixes 2004-04-29 21:04:58 +00:00
talign.pp * missing mode objfpc added 2002-10-21 07:32:31 +00:00
tarray1.pp
tarray2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tarray3.pp + known problems described 2003-02-20 12:42:20 +00:00
tarray4.pp + known problems described 2003-02-20 12:42:20 +00:00
tarray5.pp * check for array size 2004-11-02 07:43:22 +00:00
tasmread.pp *** empty log message *** 2004-05-26 20:41:52 +00:00
tasout.pp * nasm required note added 2002-10-18 11:35:40 +00:00
tcase1.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tcase2.pp
tcg1.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tcint64.pp * qword(longint) test 2004-05-02 18:46:00 +00:00
tclass1.pp * extended the tests with inherited call 2003-03-30 21:00:19 +00:00
tclass2.pp * fix calling of to1.destroy from to2.destroy 2003-04-22 09:59:31 +00:00
tclass3.pp
tclass4.pp * fixed 2002-11-17 21:46:17 +00:00
tclass5.pp * memavail fixes 2004-11-22 22:29:26 +00:00
tclass6.pp * compile time class check 2002-11-17 21:46:08 +00:00
tclass7.pp * removed knowncompilererror10 2003-10-31 16:11:47 +00:00
tclass8.pp * methodtable test 2004-10-24 12:56:17 +00:00
tenum1.pp
testcmem.pp * test for cmem unit 2004-03-15 21:49:11 +00:00
testda1.pp *** empty log message *** 2003-01-03 01:03:03 +00:00
testfpuc.pp * test fpu with c 2004-07-09 23:09:23 +00:00
testmovd.pp * mmx is 1.0.x only 2003-10-13 13:03:43 +00:00
tests.pp no message 2003-10-04 23:43:51 +00:00
testsse2.pp * restrict to i386 2003-12-08 18:49:19 +00:00
testv1.pp * 1.1 only 2003-01-05 00:21:42 +00:00
testv2.pp *** empty log message *** 2003-01-03 01:08:33 +00:00
testv3.pp * 1.1 only 2003-01-05 00:21:42 +00:00
testv4.pp * 1.1 only 2003-01-05 00:21:42 +00:00
testv5.pp * 1.1 only 2003-01-05 00:21:42 +00:00
testv6.pp * 1.1 only 2003-01-05 00:21:42 +00:00
testv7.pp * 1.1 only 2003-01-05 00:21:42 +00:00
testv8.pp * 1.1 only 2003-01-05 00:21:42 +00:00
texception1.pp * Improved output 2003-05-13 16:55:30 +00:00
texception2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
texception3.pp * memavail fixes 2004-11-22 22:29:26 +00:00
texception4.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
texception5.pp no message 2003-10-06 16:00:46 +00:00
texception6.pp + Fixed exit code 2003-12-01 11:08:23 +00:00
texception7.pp + Fixed exit code 2003-12-01 11:08:23 +00:00
texception8.pp no message 2003-10-06 16:00:46 +00:00
texception9.pp no message 2003-10-06 16:00:46 +00:00
tfillchr.pp + fillchar test 2003-05-12 19:18:12 +00:00
tfpu1.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tfpu2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tfpu3.pp fsub check enhanced 2002-10-31 13:16:27 +00:00
tfpu4.pp * win32 also has as instead of asw in 1.1 2003-10-29 15:37:52 +00:00
tfpu5.pp fsub check enhanced 2002-10-31 13:16:27 +00:00
tfpuover.pp
tgoto.pp
theap.pp * memavail fixes 2004-11-22 22:29:26 +00:00
thintdir.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
timplprog.pp
tinivar.pp + Test for locally initialized variables 2003-01-02 11:19:42 +00:00
tinlin64.pp
tinline1.pp
tinline2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tint641.pp
tint642.pp * added missing double() typecasts 2004-05-29 21:38:57 +00:00
tint643.pp + qword multiplication and overflow test 2004-01-12 21:35:18 +00:00
tinterface1.pp + added MacOS to SKIPTARGETS 2004-04-25 13:56:27 +00:00
tinterface2.pp
tinterface3.pp
tinterrupt.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tintuint.pp * 0->nil 2003-12-23 22:12:15 +00:00
tlibrary1.pp * -FE. not needed anymore 2004-11-09 21:29:05 +00:00
tlibrary2.pp * remove -Fl. 2004-11-09 21:32:25 +00:00
tmath1.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tmmx1.pp * MMX is 1.0.x only 2003-10-13 13:02:26 +00:00
tmove.pp + test for move() procedure 2003-05-10 17:33:35 +00:00
tmt1.pp *** empty log message *** 2004-11-05 13:11:18 +00:00
tobject1.pp * memavail fixes 2004-11-22 22:29:26 +00:00
tobject2.pp * memavail fixes 2004-11-22 22:29:26 +00:00
tobject3.pp * Return runerror 219 2002-10-15 15:49:08 +00:00
tobject4.pp no message 2004-11-03 10:30:48 +00:00
toperator1.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
toperator2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
toperator3.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
toperator4.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
toperator5.pp * ucomplex will be delivered with 1.1 2002-12-22 15:14:02 +00:00
tover1.pp * overloaded string routines testing 2002-09-16 19:07:17 +00:00
tpackrec.pp * pakcrecords test 2004-03-14 17:30:10 +00:00
tpara1.pp
tpara2.pp * simple test for alignment of parameters on stack 2004-09-12 12:12:33 +00:00
tprocvar1.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tprocvar2.pp + added submitter, machine and comment field to sql version 2003-10-15 21:45:50 +00:00
tprop1.pp * global properties 2003-12-10 16:32:19 +00:00
tprop2.pp * global properties 2003-12-10 16:32:19 +00:00
trange1.pp
trange2.pp
trange3.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
trange4.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
trange5.pp * fix trange5 for big endian machines 2003-03-07 11:11:04 +00:00
tresstr.pp
trtti1.pp
trtti2.pp
trtti3.pp *** empty log message *** 2004-05-29 15:20:02 +00:00
tset1.pp
tset2.pp * test now returns exitcode 1 in case something went wrong 2003-05-01 12:30:16 +00:00
tstack.pp * check that an infinite recursion generates RTE 202 or at least 216 2003-03-14 09:20:01 +00:00
tstprocv.pp * procvar types checks for strings args should be stricter 2002-10-29 00:57:18 +00:00
tstring1.pp
tstring2.pp
tstring3.pp
tstring4.pp * memavail fixes 2004-11-22 22:29:26 +00:00
tstring5.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tstring6.pp * memavail fixes 2004-11-22 22:29:26 +00:00
tstring7.pp
tstrreal1.pp
tstrreal2.pp * fixed for processors where sizeof extended = sizeof(double) 2003-12-28 22:22:56 +00:00
tsubdecl.pp + initial version 2002-06-13 08:31:57 +00:00
tunit1.pp
tunit2.pp
tunit3.pp
uimpluni1.pp
uimpluni2.pp
utasout.pp * Renamefest 2002-06-01 19:08:52 +00:00
uunit1.pp
uunit2a.pp
uunit2b.pp
uunit3a.pp
uunit3b.pp
uunit3c.pp

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
<<<<<<< README
Variants............... tvariant.pp    tests the variant support of FPC
=======
                        tasout.pp      tests a problem if a unit is compiled with nasm
>>>>>>> 1.13

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