fpc/tests/test
2002-11-16 15:38:12 +00:00
..
cg * fix int64 test 2002-11-16 15:38:12 +00:00
opt * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
units + readln testing 2002-11-10 15:23:11 +00:00
.cvsignore + explicit .cvsignore files added 2002-01-29 07:57:19 +00:00
README Updated with current info on tests 2002-10-03 17:46:18 +00:00
talign1.pp * resource string table simple compilation test 2002-10-21 21:12:13 +00:00
talign2.pp * now check address of tc's also and give error. 2002-11-09 21:19:21 +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
tarray4.pp
tasmread.pp * fixes for m68k testing 2001-08-03 22:34:00 +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
tcg2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tcint64.pp * check for negative int64 constants 2001-09-07 07:32:17 +00:00
tclass1.pp
tclass2.pp
tclass3.pp
tclass4.pp * Return runerror 219 2002-10-15 15:49:08 +00:00
tclass5.pp + Range check error testing for non-init classes and objects 2002-10-08 20:57:40 +00:00
tenum1.pp
testmovd.pp * fixes for m68k testing 2001-08-03 22:34:00 +00:00
texception1.pp
texception2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
texception3.pp * more info on memory holes 2002-11-05 17:23:12 +00:00
texception4.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +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 fsub check enhanced 2002-10-31 13:16:27 +00:00
tfpu5.pp fsub check enhanced 2002-10-31 13:16:27 +00:00
tfpuover.pp test for fpu overflow 2001-09-10 23:06:45 +00:00
tgoto.pp
theap.pp
thintdir.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
timplprog.pp * test should fail now 2001-03-13 18:50:28 +00:00
tinlin64.pp + new test for in64 value parameter push inlined 2001-03-22 10:31:22 +00:00
tinline1.pp
tinline2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tint641.pp
tint642.pp * small fixes to tests 2002-10-10 15:48:03 +00:00
tinterface1.pp *** empty log message *** 2002-08-12 20:38:05 +00:00
tinterface2.pp
tinterface3.pp
tinterrupt.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tlibrary.pp * Renamefest 2002-06-01 19:08:52 +00:00
tmath1.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tmmx1.pp * fixes for m68k testing 2001-08-03 22:34:00 +00:00
tmt1.pp * made the test threadsafe :) 2002-11-07 15:01:45 +00:00
tobject1.pp
tobject2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tobject3.pp * Return runerror 219 2002-10-15 15:49:08 +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 * operator overloading interactive tests 2002-09-08 11:54:23 +00:00
tover1.pp * overloaded string routines testing 2002-09-16 19:07:17 +00:00
tpara1.pp * several fixes to run also with kylix 2001-10-20 17:26:13 +00:00
tprocvar1.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tprocvar2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
trange1.pp * several fixes to run also with kylix 2001-10-20 17:26:13 +00:00
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 * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tresstr.pp
trtti1.pp
trtti2.pp
trtti3.pp
tset1.pp
tset2.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +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 * define COMP_IS_INT64 for m68k cpu 2002-10-15 06:33:48 +00:00
tstring5.pp * old logs removed and tabs fixed 2002-09-07 15:40:30 +00:00
tstring6.pp * widestring tests based on the ansistring test program 2001-07-08 21:01:48 +00:00
tstring7.pp * simple test that failed for m68k 2001-08-01 10:38:27 +00:00
tstrreal1.pp
tstrreal2.pp
tsubdecl.pp + initial version 2002-06-13 08:31:57 +00:00
tunit1.pp * more type redefining tests 2001-04-10 21:29:25 +00:00
tunit2.pp * 1.1 update 2001-06-02 19:20:37 +00:00
tunit3.pp * more type redefining tests 2001-04-10 21:29:25 +00:00
uimpluni1.pp
uimpluni2.pp
utasout.pp * Renamefest 2002-06-01 19:08:52 +00:00
uunit1.pp * more type redefining tests 2001-04-10 21:29:25 +00:00
uunit2a.pp * more type redefining tests 2001-04-10 21:29:25 +00:00
uunit2b.pp * more type redefining tests 2001-04-10 21:29:25 +00:00
uunit3a.pp * more type redefining tests 2001-04-10 21:29:25 +00:00
uunit3b.pp * more type redefining tests 2001-04-10 21:29:25 +00:00
uunit3c.pp * more type redefining tests 2001-04-10 21:29:25 +00:00

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)