fpc/tests/test
2005-12-20 08:11:59 +00:00
..
cg + optimized <dword> div <const dword> 2005-12-19 22:19:43 +00:00
opt * log and id tags removed 2005-05-21 09:42:41 +00:00
units + sscanf 2005-07-09 22:34:26 +00:00
dumpclass.pp no message 2004-12-27 15:55:32 +00:00
dumpmethods.pp * log and id tags removed 2005-05-21 09:42:41 +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 * log and id tags removed 2005-05-21 09:42:41 +00:00
talign2.pp * log and id tags removed 2005-05-21 09:42: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 * log and id tags removed 2005-05-21 09:42:41 +00:00
tclass2.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tclass3.pp
tclass4.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tclass5.pp * memavail fixes 2004-11-22 22:29:26 +00:00
tclass6.pp * log and id tags removed 2005-05-21 09:42:41 +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 * log and id tags removed 2005-05-21 09:42:41 +00:00
testda1.pp * truncate log 2005-02-14 17:13:06 +00:00
testfpuc.pp * log and id tags removed 2005-05-21 09:42:41 +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 + proper alignment directives added 2005-10-22 15:40:51 +00:00
testv1.pp * truncate log 2005-02-14 17:13:06 +00:00
testv2.pp *** empty log message *** 2003-01-03 01:08:33 +00:00
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
testv9.pp + extended test 2005-11-22 22:10:40 +00:00
testv10.pp * improved variant type casts 2005-12-10 16:42:28 +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 * log and id tags removed 2005-05-21 09:42:41 +00:00
tfpuover.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tgoto.pp
theap.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
thintdir.pp
timplprog.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tinivar.pp + Test for locally initialized variables 2003-01-02 11:19:42 +00:00
tinlin64.pp
tinline1.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
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
tinline5.pp + test for new inlining (fails currently) 2005-11-02 15:11:17 +00:00
tinline6.pp * use more precise vs_* information to replace less parameters of inlined 2005-12-10 17:01:07 +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 * force PIC on x86_64 2005-11-13 21:24:54 +00:00
tlibrary2.pp * no longer linux-specific naming for library 2005-10-15 16:33:01 +00:00
tmacfunret.pp new tests for mode macpas 2005-10-24 22:06:49 +00:00
tmacpas1.pp - Moved part to tmacpas4.pp 2005-03-20 19:18:55 +00:00
tmacpas2.pp * string constants are now array of char until 2005-10-02 11:08:58 +00:00
tmacpas3.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tmacpas4.pp + New test for compile time things 2005-03-20 19:19:50 +00:00
tmacprocvar.pp new tests for mode macpas 2005-10-24 22:06:49 +00:00
tmath1.pp
tmmx1.pp + mmx support revived, fixes bug #4106 2005-07-02 11:53:51 +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 * log and id tags removed 2005-05-21 09:42:41 +00:00
tobject4.pp no message 2004-11-03 10:30:48 +00:00
toperator1.pp
toperator2.pp
toperator3.pp
toperator4.pp
toperator5.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tover1.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tover2.pp * remove svn:executable from *.pp and *.pas 2005-12-20 08:11:59 +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 * log and id tags removed 2005-05-21 09:42:41 +00:00
tprocvar1.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tprocvar2.pp + added submitter, machine and comment field to sql version 2003-10-15 21:45:50 +00:00
tprocvar3.pp * log and id tags removed 2005-05-21 09:42: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 * log and id tags removed 2005-05-21 09:42:41 +00:00
trtti3.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tset1.pp * log and id tags removed 2005-05-21 09:42: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 * log and id tags removed 2005-05-21 09:42:41 +00:00
tstring1.pp
tstring2.pp
tstring3.pp
tstring4.pp * truncate log 2005-02-14 17:13:06 +00:00
tstring5.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tstring6.pp * fixed test 2004-12-19 21:44:27 +00:00
tstring7.pp
tstring8.pp * fixed strpos() in case source or target is nil 2005-12-09 14:57:10 +00:00
tstrreal1.pp
tstrreal2.pp * fixed for processors where sizeof extended = sizeof(double) 2003-12-28 22:22:56 +00:00
tsubdecl.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
tunit1.pp
tunit2.pp
tunit3.pp
tunroll1.pp * fixed some small problems in loop unrolling 2005-06-19 21:00:27 +00:00
tutf81.pp * utf-8 fix from Rimgaudas Laucius 2005-07-02 12:03:47 +00:00
tutf82.pp + added forgotten $codepage directive 2005-06-16 20:22:08 +00:00
twide1.pp *** empty log message *** 2005-03-17 19:08:04 +00:00
twide2.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
uabstrcl.pp + test for published class with abstract methods 2005-04-05 19:15:58 +00:00
uimpluni1.pp * log and id tags removed 2005-05-21 09:42:41 +00:00
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 * log and id tags removed 2005-05-21 09:42: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)