fpc/tests/test
2007-06-21 17:13:39 +00:00
..
cg * fixed test. 2007-06-20 20:11:33 +00:00
opt
units * Delete temporary files used by tests. It is important when remotely run testsuite at Pocket PC. Temp files are created in root folder and it is not good if the files are left. 2007-06-21 17:13:39 +00:00
dumpclass.pp
dumpmethods.pp
README * Fixed an old svn-conflict in tests/test/README 2007-01-24 16:25:40 +00:00
t4cc1.pp - removed automatic int-string, string-int and int-array conversion for 2006-11-01 16:34:37 +00:00
t4cc2.pp + support for indexing 4-byte sized integers as array[1..4] of char in 2006-10-18 17:26:00 +00:00
tabstrcl.pp
taddstr1.pp + optimize <string>+'' and ''+<string> 2006-05-14 09:43:53 +00:00
talign1.pp
talign2.pp + added cwstring unit for unix 2007-06-16 09:13:01 +00:00
talign.pp
targ1a.pp new tests renamed as suggested by Peter 2007-03-27 10:15:07 +00:00
targ1b.pp * skip test for wince. 2007-06-20 18:11:05 +00:00
tarray1.pp
tarray2.pp
tarray3.pp * test the (previously) working parts of this test 2007-03-17 22:00:18 +00:00
tarray4.pp
tarray5.pp
tarray6.pp
tarray7.pp + Test for open arrays. 2007-03-25 15:30:07 +00:00
tasmread.pp
tasout.pp
tbopr.pp + brotl, brotr and bnot functions for macpas mode + tests 2007-03-16 16:01:26 +00:00
tbrtlevt.pp * fixed datarace in case heaptrc is used 2007-03-02 09:01:25 +00:00
tcase1.pp
tcase2.pp
tcg1.pp
tcint64.pp
tclass1.pp
tclass2.pp
tclass3.pp
tclass4.pp
tclass5.pp
tclass6.pp
tclass7.pp
tclass8.pp
tclrprop.pp
tendian1.pp * another old test added 2006-11-01 21:02:12 +00:00
tenum1.pp
tenum2.pp * fixed typos 2006-12-29 17:48:36 +00:00
testcmem.pp
testda1.pp
testfpuc.pp * enabled for darwin and solaris 2006-09-08 16:00:55 +00:00
testmovd.pp
tests.pp
testsse2.pp
testv1.pp
testv2.pp
testv3.pp
testv4.pp
testv5.pp * adapt test to $R+ 2007-02-17 23:57:44 +00:00
testv6.pp
testv7.pp
testv8.pp
testv9.pp
testv10.pp
texception1.pp
texception2.pp git-svn-id: trunk@3242 - 2006-04-17 09:03:25 +00:00
texception3.pp
texception4.pp
texception5.pp
texception6.pp
texception7.pp
texception8.pp
texception9.pp
texception10.pp
tfillchr.pp
tfpu1.pp
tfpu2.pp
tfpu3.pp
tfpu4.pp
tfpu5.pp
tfpuover.pp * fixed assembling of sse instructions on x86-64 with regs > xmm7 2007-03-04 19:16:20 +00:00
tgeneric1.pp
tgeneric2.pp
tgeneric3.pp
tgeneric4.pp
tgeneric5.pp
tgeneric6.pp * fixed test 2006-11-01 23:22:43 +00:00
tgeneric7.pp + store compiler switch changes in generic token streams 2006-10-30 19:54:17 +00:00
tgeneric8.pp * allow usage of nested types 2006-11-01 23:33:55 +00:00
tgeneric9.pp + template test with 2 template parameters 2006-11-09 21:25:36 +00:00
tgeneric10.pp * make tgeneric10 more complex 2006-11-13 20:13:02 +00:00
tgeneric11.pp * make tgeneric10 more complex 2006-11-13 20:13:02 +00:00
tgeneric12.pp + test procedure override in generic classes 2006-11-19 15:59:43 +00:00
tgeneric13.pp * only non generic types can be used when specializing generics, fixes 7735 2006-12-30 21:51:24 +00:00
tgeneric14.pp + generics context sensitivity test 2007-03-29 19:45:42 +00:00
tgoto.pp
theap.pp
theapthread.pp * theapthread test: put the sleep in the right place to increase odds of freeing after other thread exit 2007-06-13 20:33:32 +00:00
thintdir.pp
timplprog.pp
tinivar.pp
tinlin64.pp
tinline1.pp
tinline2.pp
tinline3.pp
tinline4.pp
tinline5.pp
tinline6.pp
tinline7.pp + support for simplifying simple inline functions down to a single 2007-03-13 22:27:55 +00:00
tint2str1.pp - removed automatic int-string, string-int and int-array conversion for 2006-11-01 16:34:37 +00:00
tint2str2.pp * test header fixed 2006-10-18 20:35:53 +00:00
tint641.pp
tint642.pp * Delete temporary files used by tests. It is important when remotely run testsuite at Pocket PC. Temp files are created in root folder and it is not good if the files are left. 2007-06-21 17:13:39 +00:00
tint643.pp
tinterface1.pp
tinterface2.pp
tinterface3.pp
tinterface4.pp
tinterface5.pp * fixed assigning an interface to a property after better property 2007-05-27 10:25:46 +00:00
tinterrupt.pp
tintfdef.pp
tintuint.pp
tlibrary1.pp * ifdef'ed pic directive 2006-11-25 22:59:18 +00:00
tlibrary2.pp * also win64 2006-08-06 10:15:22 +00:00
tlibrary3.pp * experimental fix for #8210 2007-03-21 19:19:30 +00:00
tmacbool.pp * fixed support for macpas & and | operators: they only work on booleans 2006-05-30 13:02:36 +00:00
tmacfunret.pp
tmaclocalprocparam.pp
tmacnonlocalexit.pp
tmacnonlocalgoto.pp * extended test 2006-10-23 22:50:35 +00:00
tmacpas1.pp
tmacpas2.pp
tmacpas3.pp
tmacpas4.pp
tmacprocvar.pp
tmath1.pp
tmcbool2.pp * fixed support for macpas & and | operators: they only work on booleans 2006-05-30 13:02:36 +00:00
tmmx1.pp
tmove.pp
tmt1.pp * added Sleep to wait loop for wince. 2006-11-26 13:26:35 +00:00
tobject1.pp
tobject2.pp
tobject3.pp
tobject4.pp
toperator1.pp
toperator2.pp
toperator3.pp
toperator4.pp
toperator5.pp
toperator6.pp * test for wrong first match of operator overloading 2007-06-17 14:17:30 +00:00
tover1.pp
tover2.pp
tpackrec.pp
tpara1.pp
tpara2.pp
tparray1.pp * changed so it still fails after today's changes 2006-09-09 18:43:34 +00:00
tparray2.pp * changed so it still fails after today's changes 2006-09-09 18:55:48 +00:00
tparray3.pp * fixed tests 2006-08-01 16:05:54 +00:00
tparray4.pp + support for bitsizeof() function 2006-09-09 18:57:49 +00:00
tparray5.pp + another packed array test (which already works fine with my local 2006-08-15 22:03:36 +00:00
tparray6.pp + another packarray test which works 2006-08-16 21:37:31 +00:00
tparray7.pp + some more working packed array tests 2006-08-19 11:15:26 +00:00
tparray8.pp + some more working packed array tests 2006-08-19 11:15:26 +00:00
tparray9.pp + some more working packed array tests 2006-08-19 11:15:26 +00:00
tparray10.pp + support for bitsizeof() function 2006-09-09 18:57:49 +00:00
tparray11.pp + support for bitpacked records, except for: 2006-08-23 15:44:13 +00:00
tparray12.pp * fixed packed arrays of enums in case of packenum 2/4 2006-09-21 14:46:32 +00:00
tparray13.pp + support for packed array constants 2007-02-20 21:53:46 +00:00
tparray14.pp + support for packed array constants 2007-02-20 21:53:46 +00:00
tparray15.pp + support for bitpacked record constants 2007-02-24 17:39:06 +00:00
tparray16.pp + support for bitpacked record constants 2007-02-24 17:39:06 +00:00
tparray17.pp + support for bitpacked record constants 2007-02-24 17:39:06 +00:00
tparray18.pp * test now fails under FPC 2007-05-20 08:54:10 +00:00
tparray19.pp + support for bitpacking types with a negative lower bound 2007-02-28 17:42:41 +00:00
tparray20.pp * added packrecords statement so the test compiles on all systems regardless 2007-06-09 17:05:35 +00:00
tparray21.pp * fixed another IE with indexing bitpacked arrays of composite types, 2007-06-08 13:53:01 +00:00
tparray22.pp * don't allow taking the address of ordinal bitpacked array elements 2007-06-09 18:13:04 +00:00
tparray23.pp * don't allow taking the address of ordinal bitpacked array elements 2007-06-09 18:13:04 +00:00
tparray24.pp * don't allow taking the address of ordinal bitpacked array elements 2007-06-09 18:13:04 +00:00
tparray25.pp * don't allow taking the address of ordinal bitpacked array elements 2007-06-09 18:13:04 +00:00
tpftch1.pp
tprec1.pp + support for bitpacked records, except for: 2006-08-23 15:44:13 +00:00
tprec2.pp + support for bitpacked records, except for: 2006-08-23 15:44:13 +00:00
tprec3.pp * fixed out-of-bounds int64 constant 2006-08-23 17:55:41 +00:00
tprec4.pp + support for bitpacked records, except for: 2006-08-23 15:44:13 +00:00
tprec5.pp + support for bitpacked records, except for: 2006-08-23 15:44:13 +00:00
tprec6.pp + support for bitpacked records, except for: 2006-08-23 15:44:13 +00:00
tprec7.pp + support for bitpacked records, except for: 2006-08-23 15:44:13 +00:00
tprec8.pp * 12345678901234567890>high(int64), therefore int64var=12345678901234567890 always 2007-06-12 22:20:24 +00:00
tprec9.pp * don't allow taking the address of packed record fields 2006-08-27 11:08:39 +00:00
tprec10.pp * don't allow taking the address of packed record fields 2006-08-27 11:08:39 +00:00
tprec11.pp + support for bitpacked record constants 2007-02-24 17:39:06 +00:00
tprec12.pp + support for bitpacked record constants 2007-02-24 17:39:06 +00:00
tprec13.pp + support for bitpacked record constants 2007-02-24 17:39:06 +00:00
tprec14.pp * don't change a sequence of shifts and sub/adds into a lea() in case 2007-05-14 20:37:42 +00:00
tprec15.pp * allow taking the address of fields of packed records iff 2007-06-09 17:52:20 +00:00
tprec16.pp * allow taking the address of fields of packed records iff 2007-06-09 17:52:20 +00:00
tprec17.pp * allow taking the address of fields of packed records iff 2007-06-09 17:52:20 +00:00
tprec18.pp * allow taking the address of fields of packed records iff 2007-06-09 17:52:20 +00:00
tprec19.pp * don't allow taking the address of ordinal bitpacked array elements 2007-06-09 18:13:04 +00:00
tprec20.pp * don't allow taking the address of ordinal bitpacked array elements 2007-06-09 18:13:04 +00:00
tprocext.pp
tprocvar1.pp
tprocvar2.pp
tprocvar3.pp
tprop1.pp
tprop2.pp
tprop.pp * fixed dynarr_property:=nil + test 2007-05-28 13:48:32 +00:00
trange1.pp
trange2.pp
trange3.pp
trange4.pp
trange5.pp
trangeob.pp
trecreg2.pp * fixed bug when assigning a negative value in a register to certain 2006-05-23 09:17:21 +00:00
trecreg3.pp + new additional test program for testing record register variables 2006-06-04 12:37:26 +00:00
trecreg4.pp * forgot to commit 2007-03-02 08:57:21 +00:00
trecreg.pp + support for register variables which contain records 2006-05-19 15:49:07 +00:00
tresstr.pp
trstr1.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
trstr2.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
trstr3.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
trstr4.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
trstr5.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
trstr6.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
trstr7.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
trstr8.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
trtti1.pp
trtti2.pp
trtti3.pp
trtti4.pp * remove executable flag for pascal source 2006-11-12 13:51:37 +00:00
trtti5.pp
tset1.pp
tset2.pp
tset3.pp + support for sets with size 1 and 2 2007-01-24 20:06:56 +00:00
tset4.pp * fixed mode switch (objpas -> objfpc) 2007-05-17 13:36:00 +00:00
tset5.pp + new test for varsets and conversion among varsets 2007-01-27 20:29:06 +00:00
tset5a.pp * variant of tset5a which shows an error without -Or 2007-02-20 16:28:28 +00:00
tset6.pp * big set test 2007-03-18 10:34:18 +00:00
tset7.pp * new internal set format for big endian systems. Advantages: 2007-05-19 17:15:15 +00:00
tstack.pp * test fixed to turn off stack checking in stack checking error handling 2006-09-07 20:10:32 +00:00
tstprocv.pp
tstring1.pp * Made the test working for delphi/fpc and return error code for failures 2006-10-01 10:15:56 +00:00
tstring2.pp
tstring3.pp
tstring4.pp
tstring5.pp
tstring6.pp
tstring7.pp
tstring8.pp
tstrreal1.pp
tstrreal2.pp
tstrreal3.pp * added DecimalSeparator:='.'; to make test locale independent. 2006-07-06 19:11:43 +00:00
tsubdecl.pp
tugeneric7.pp + store compiler switch changes in generic token streams 2006-10-30 19:54:17 +00:00
tunaligned1.pp * test for unaligned function 2006-04-29 19:44:50 +00:00
tunit1.pp
tunit2.pp
tunit3.pp
tunroll1.pp
tutf81.pp
tutf82.pp
tvarset1.pp + first batch of varset support, as long as packset isn't changed, it doesn't change anything 2006-09-24 14:40:11 +00:00
tw6727.pp + added 2006-12-27 15:24:56 +00:00
twide1.pp
twide2.pp
twide3.pp * fixed writing of widestrings 2007-06-13 13:00:25 +00:00
twrstr1.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
twrstr2.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
twrstr3.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
twrstr4.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
twrstr5.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
twrstr6.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
twrstr7.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
twrstr8.pp + support for ISO Extended Pascal ReadStr() and WriteStr() routines 2007-05-14 17:34:01 +00:00
uabstrcl.pp
uenum2a.pp + using items of aliased enum type in other unit test 2006-12-02 11:30:59 +00:00
uenum2b.pp + using items of aliased enum type in other unit test 2006-12-02 11:30:59 +00:00
ugeneric3.pp
ugeneric4.pp
ugeneric10.pp * make tgeneric10 more complex 2006-11-13 20:13:02 +00:00
ugeneric14.pp + generics context sensitivity test 2007-03-29 19:45:42 +00:00
uimpluni1.pp
uimpluni2.pp
uinline4a.pp
uinline4b.pp
umacpas1.pp
uprec6.pp + support for bitpacked records, except for: 2006-08-23 15:44:13 +00:00
uprec7.pp * fixed syntax errors 2007-02-24 17:28:14 +00:00
uprocext1.pp
uprocext2.pp
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
Variants............... tvariant.pp    tests the variant support of FPC
                        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)