fpc/tests/test
fpc 50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
..
cg initial import 2005-05-16 18:37:41 +00:00
opt initial import 2005-05-16 18:37:41 +00:00
units initial import 2005-05-16 18:37:41 +00:00
dumpclass.pp no message 2004-12-27 15:55:32 +00:00
dumpmethods.pp * truncate log 2005-02-14 17:13:06 +00:00
README + added submitter, machine and comment field to sql version 2003-10-15 21:45:50 +00:00
tabstrcl.pp + test for published class with abstract methods 2005-04-05 19:15:58 +00:00
talign1.pp initial import 2005-05-16 18:37:41 +00:00
talign2.pp initial import 2005-05-16 18:37:41 +00:00
talign.pp * truncate log 2005-02-14 17:13:06 +00:00
tarray1.pp
tarray2.pp
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
tarray6.pp * adjustment to target macos 2005-01-24 18:53:10 +00:00
tasmread.pp *** empty log message *** 2004-05-26 20:41:52 +00:00
tasout.pp
tcase1.pp
tcase2.pp
tcg1.pp
tcint64.pp * truncate log 2005-02-14 17:13:06 +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 * truncate log 2005-02-14 17:13:06 +00:00
tclass5.pp * memavail fixes 2004-11-22 22:29:26 +00:00
tclass6.pp * truncate log 2005-02-14 17:13:06 +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
tclrprop.pp + test for publishing classref properties 2005-04-01 11:54:54 +00:00
tenum1.pp
testcmem.pp initial import 2005-05-16 18:37:41 +00:00
testda1.pp * truncate log 2005-02-14 17:13:06 +00:00
testfpuc.pp * truncate log 2005-02-14 17:13:06 +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 * truncate log 2005-02-14 17:13:06 +00:00
testv2.pp
testv3.pp * truncate log 2005-02-14 17:13:06 +00:00
testv4.pp * truncate log 2005-02-14 17:13:06 +00:00
testv5.pp * truncate log 2005-02-14 17:13:06 +00:00
testv6.pp * truncate log 2005-02-14 17:13:06 +00:00
testv7.pp * truncate log 2005-02-14 17:13:06 +00:00
testv8.pp * truncate log 2005-02-14 17:13:06 +00:00
texception1.pp * Improved output 2003-05-13 16:55:30 +00:00
texception2.pp skip for go32v2 to prevent hangings during unattended runs 2004-11-29 21:26:12 +00:00
texception3.pp * only build dbdigest for fulldb 2005-03-04 17:09:49 +00:00
texception4.pp skip for go32v2 to prevent hangings during unattended runs 2004-11-29 21:26:12 +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
texception10.pp * new bugs 2005-01-24 15:53:20 +00:00
tfillchr.pp * truncate log 2005-02-14 17:13:06 +00:00
tfpu1.pp
tfpu2.pp skip for go32v2 to prevent hangings during unattended runs 2004-11-29 21:26:12 +00:00
tfpu3.pp
tfpu4.pp * win32 also has as instead of asw in 1.1 2003-10-29 15:37:52 +00:00
tfpu5.pp
tfpuover.pp
tgoto.pp
theap.pp initial import 2005-05-16 18:37:41 +00:00
thintdir.pp
timplprog.pp
tinivar.pp
tinlin64.pp
tinline1.pp
tinline2.pp
tinline3.pp * case statement inline 2004-11-29 17:30:38 +00:00
tinline4.pp * add $inline on 2005-01-18 15:47:31 +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 + Better comment on %SKIPTARGET=macos 2004-11-23 19:55:59 +00:00
tinterface2.pp
tinterface3.pp
tinterface4.pp new test for interface to variant 2005-03-09 23:21:23 +00:00
tinterrupt.pp
tintuint.pp * 0->nil 2003-12-23 22:12:15 +00:00
tlibrary1.pp + added SKIPTARGET=macos 2005-01-04 21:57:02 +00:00
tlibrary2.pp * remove -Fl. 2004-11-09 21:32:25 +00:00
tmacpas1.pp - Moved part to tmacpas4.pp 2005-03-20 19:18:55 +00:00
tmacpas2.pp + Added tests for mode macpas 2005-01-11 21:23:36 +00:00
tmacpas3.pp * truncate log 2005-02-14 17:13:06 +00:00
tmacpas4.pp + New test for compile time things 2005-03-20 19:19:50 +00:00
tmath1.pp
tmmx1.pp * MMX is 1.0.x only 2003-10-13 13:02:26 +00:00
tmove.pp * truncate log 2005-02-14 17:13:06 +00:00
tmt1.pp * truncate log 2005-02-14 17:13:06 +00:00
tobject1.pp * truncate log 2005-02-14 17:13:06 +00:00
tobject2.pp * memavail fixes 2004-11-22 22:29:26 +00:00
tobject3.pp
tobject4.pp no message 2004-11-03 10:30:48 +00:00
toperator1.pp
toperator2.pp
toperator3.pp
toperator4.pp
toperator5.pp initial import 2005-05-16 18:37:41 +00:00
tover1.pp initial import 2005-05-16 18:37:41 +00:00
tpackrec.pp * truncate log 2005-02-14 17:13:06 +00:00
tpara1.pp
tpara2.pp * simple test for alignment of parameters on stack 2004-09-12 12:12:33 +00:00
tprocext.pp * external handling test 2004-12-14 16:10:41 +00:00
tprocvar1.pp initial import 2005-05-16 18:37:41 +00:00
tprocvar2.pp + added submitter, machine and comment field to sql version 2003-10-15 21:45:50 +00:00
tprocvar3.pp initial import 2005-05-16 18:37:41 +00:00
tprop1.pp * truncate log 2005-02-14 17:13:06 +00:00
tprop2.pp * global properties 2003-12-10 16:32:19 +00:00
trange1.pp
trange2.pp
trange3.pp
trange4.pp
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 initial import 2005-05-16 18:37:41 +00:00
tset2.pp * test now returns exitcode 1 in case something went wrong 2003-05-01 12:30:16 +00:00
tstack.pp * truncate log 2005-02-14 17:13:06 +00:00
tstprocv.pp
tstring1.pp
tstring2.pp
tstring3.pp
tstring4.pp * truncate log 2005-02-14 17:13:06 +00:00
tstring5.pp
tstring6.pp * fixed test 2004-12-19 21:44:27 +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
tunit1.pp
tunit2.pp
tunit3.pp
twide1.pp *** empty log message *** 2005-03-17 19:08:04 +00:00
twide2.pp *** empty log message *** 2005-03-17 19:08:04 +00:00
uabstrcl.pp + test for published class with abstract methods 2005-04-05 19:15:58 +00:00
uimpluni1.pp
uimpluni2.pp
uinline4a.pp * inline with type in implicit used unit 2005-01-13 16:46:46 +00:00
uinline4b.pp * inline with type in implicit used unit 2005-01-13 16:46:46 +00:00
umacpas1.pp + Added tests for mode macpas 2005-01-11 21:23:36 +00:00
uprocext1.pp * external handling test 2004-12-14 16:10:41 +00:00
uprocext2.pp * external handling test 2004-12-14 16:10:41 +00:00
utasout.pp
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)