Jonas Maebe 0bc6a2fd28 + new test for varsets and conversion among varsets 19 년 전
..
cg 47ff7b62e7 * fixed overload choosing algorithm so it's Delphi-compatible + 19 년 전
opt 95a44d5beb * fixed 20 년 전
units f2273f9cd4 * delete temp file when test ends. 19 년 전
README c1dddf5df2 * Fixed an old svn-conflict in tests/test/README 19 년 전
dumpclass.pp e9676f56b8 no message 21 년 전
dumpmethods.pp 790a4fe2d3 * log and id tags removed 20 년 전
t4cc1.pp d87f03eef5 - removed automatic int-string, string-int and int-array conversion for 19 년 전
t4cc2.pp 5eedbdfde9 + support for indexing 4-byte sized integers as array[1..4] of char in 19 년 전
tabstrcl.pp 0b79e441ab + test for published class with abstract methods 21 년 전
taddstr1.pp 454fb81c5b + optimize <string>+'' and ''+<string> 19 년 전
talign.pp e417e34496 * truncate log 21 년 전
talign1.pp 790a4fe2d3 * log and id tags removed 20 년 전
talign2.pp f65427dcb3 * fixed test for win64 19 년 전
tarray1.pp e7d12a5de3 * renamed test suite 25 년 전
tarray2.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
tarray3.pp 487408c8da + known problems described 23 년 전
tarray4.pp 487408c8da + known problems described 23 년 전
tarray5.pp f5f187f3a9 * check for array size 21 년 전
tarray6.pp a684ebf7f8 * adjustment to target macos 21 년 전
tasmread.pp 5953d974c2 *** empty log message *** 21 년 전
tasout.pp 0f0eedba0a * nasm required note added 23 년 전
tbrtlevt.pp 0c3afc0cf4 + implementation of cSemaphore* and BasicRTLEvent based on 19 년 전
tcase1.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
tcase2.pp e7d12a5de3 * renamed test suite 25 년 전
tcg1.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
tcint64.pp e417e34496 * truncate log 21 년 전
tclass1.pp 790a4fe2d3 * log and id tags removed 20 년 전
tclass2.pp 790a4fe2d3 * log and id tags removed 20 년 전
tclass3.pp e7d12a5de3 * renamed test suite 25 년 전
tclass4.pp 790a4fe2d3 * log and id tags removed 20 년 전
tclass5.pp bbb08436c5 * memavail fixes 21 년 전
tclass6.pp 790a4fe2d3 * log and id tags removed 20 년 전
tclass7.pp 6939e0e4d4 * removed knowncompilererror10 22 년 전
tclass8.pp ea6715c207 * methodtable test 21 년 전
tclrprop.pp dacdc8c38f + test for publishing classref properties 21 년 전
tendian1.pp 409ee19a83 * another old test added 19 년 전
tenum1.pp e7d12a5de3 * renamed test suite 25 년 전
tenum2.pp f972fdac2d * fixed typos 19 년 전
testcmem.pp 790a4fe2d3 * log and id tags removed 20 년 전
testda1.pp e417e34496 * truncate log 21 년 전
testfpuc.pp 27df719ac3 * enabled for darwin and solaris 19 년 전
testmovd.pp e7b757fb32 * mmx is 1.0.x only 22 년 전
tests.pp 8f41503f9f no message 22 년 전
testsse2.pp ef72bba537 + proper alignment directives added 20 년 전
testv1.pp e417e34496 * truncate log 21 년 전
testv10.pp 55d881615a * improved variant type casts 20 년 전
testv2.pp fa14d04d88 *** empty log message *** 23 년 전
testv3.pp e417e34496 * truncate log 21 년 전
testv4.pp e417e34496 * truncate log 21 년 전
testv5.pp e417e34496 * truncate log 21 년 전
testv6.pp e417e34496 * truncate log 21 년 전
testv7.pp e417e34496 * truncate log 21 년 전
testv8.pp e417e34496 * truncate log 21 년 전
testv9.pp 07228ddf91 + extended test 20 년 전
texception1.pp c37cdcf4e8 * Improved output 22 년 전
texception10.pp 92a6e151ff * new bugs 21 년 전
texception2.pp e8e0d2b6eb 19 년 전
texception3.pp 79ba0c0609 * only build dbdigest for fulldb 21 년 전
texception4.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs 21 년 전
texception5.pp 3bd0c0f4b5 no message 22 년 전
texception6.pp 7d9ec3978d + Fixed exit code 22 년 전
texception7.pp 7d9ec3978d + Fixed exit code 22 년 전
texception8.pp 3bd0c0f4b5 no message 22 년 전
texception9.pp 3bd0c0f4b5 no message 22 년 전
tfillchr.pp e417e34496 * truncate log 21 년 전
tfpu1.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
tfpu2.pp 9da80100a2 skip for go32v2 to prevent hangings during unattended runs 21 년 전
tfpu3.pp cc47536e71 fsub check enhanced 23 년 전
tfpu4.pp 2608db056d * win32 also has as instead of asw in 1.1 22 년 전
tfpu5.pp 790a4fe2d3 * log and id tags removed 20 년 전
tfpuover.pp 790a4fe2d3 * log and id tags removed 20 년 전
tgeneric1.pp a59690b147 * make generic basics working again 20 년 전
tgeneric10.pp 90b19e0be2 * make tgeneric10 more complex 19 년 전
tgeneric11.pp 90b19e0be2 * make tgeneric10 more complex 19 년 전
tgeneric12.pp da1fcf6e34 + test procedure override in generic classes 19 년 전
tgeneric13.pp c4d96ec538 * only non generic types can be used when specializing generics, fixes 7735 19 년 전
tgeneric2.pp a59690b147 * make generic basics working again 20 년 전
tgeneric3.pp a59690b147 * make generic basics working again 20 년 전
tgeneric4.pp a59690b147 * make generic basics working again 20 년 전
tgeneric5.pp 7d89336fdd * fixed tgeneric5 test 20 년 전
tgeneric6.pp fa32d2c240 * fixed test 19 년 전
tgeneric7.pp 058e1877ba + store compiler switch changes in generic token streams 19 년 전
tgeneric8.pp 0c1b7910ab * allow usage of nested types 19 년 전
tgeneric9.pp 00d66f9142 + template test with 2 template parameters 19 년 전
tgoto.pp e7d12a5de3 * renamed test suite 25 년 전
theap.pp 790a4fe2d3 * log and id tags removed 20 년 전
thintdir.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
timplprog.pp 790a4fe2d3 * log and id tags removed 20 년 전
tinivar.pp 780b31cdb3 + Test for locally initialized variables 23 년 전
tinlin64.pp 42035e7283 + new test for in64 value parameter push inlined 25 년 전
tinline1.pp 790a4fe2d3 * log and id tags removed 20 년 전
tinline2.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
tinline3.pp 1fa574257d * case statement inline 21 년 전
tinline4.pp 35d252cae4 * add $inline on 21 년 전
tinline5.pp 23cd46151a + test for new inlining (fails currently) 20 년 전
tinline6.pp 52ca5e6922 * use more precise vs_* information to replace less parameters of inlined 20 년 전
tint2str1.pp d87f03eef5 - removed automatic int-string, string-int and int-array conversion for 19 년 전
tint2str2.pp 12cd76d0e8 * test header fixed 19 년 전
tint641.pp e7d12a5de3 * renamed test suite 25 년 전
tint642.pp b193cd19ad * added missing double() typecasts 21 년 전
tint643.pp 5c36a38290 + qword multiplication and overflow test 22 년 전
tinterface1.pp 2ecaba47e1 + Better comment on %SKIPTARGET=macos 21 년 전
tinterface2.pp b9a0b3108a * update 25 년 전
tinterface3.pp b9a0b3108a * update 25 년 전
tinterface4.pp b16af7dfcc new test for interface to variant 21 년 전
tinterrupt.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
tintfdef.pp 8776946bbf + test for macpas interface-only definition units 20 년 전
tintuint.pp d298043d6b * 0->nil 22 년 전
tlibrary1.pp d84493deec * ifdef'ed pic directive 19 년 전
tlibrary2.pp 0e8a21e84a * also win64 19 년 전
tmacbool.pp 03302dc7c4 * fixed support for macpas & and | operators: they only work on booleans 19 년 전
tmacfunret.pp 58582a44a9 new tests for mode macpas 20 년 전
tmaclocalprocparam.pp 58f59b9134 added test cases for comming macpas features 20 년 전
tmacnonlocalexit.pp 58f59b9134 added test cases for comming macpas features 20 년 전
tmacnonlocalgoto.pp 751ff8d453 * extended test 19 년 전
tmacpas1.pp 59f83a5357 - Moved part to tmacpas4.pp 21 년 전
tmacpas2.pp edf553a223 * string constants are now array of char until 20 년 전
tmacpas3.pp 790a4fe2d3 * log and id tags removed 20 년 전
tmacpas4.pp 91c8da4e1a + New test for compile time things 21 년 전
tmacprocvar.pp 58582a44a9 new tests for mode macpas 20 년 전
tmath1.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
tmcbool2.pp 03302dc7c4 * fixed support for macpas & and | operators: they only work on booleans 19 년 전
tmmx1.pp dac1050c11 + mmx support revived, fixes bug #4106 20 년 전
tmove.pp e417e34496 * truncate log 21 년 전
tmt1.pp c21b1478b8 * added Sleep to wait loop for wince. 19 년 전
tobject1.pp e417e34496 * truncate log 21 년 전
tobject2.pp bbb08436c5 * memavail fixes 21 년 전
tobject3.pp 790a4fe2d3 * log and id tags removed 20 년 전
tobject4.pp 741f42c3b0 no message 21 년 전
toperator1.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
toperator2.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
toperator3.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
toperator4.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
toperator5.pp 790a4fe2d3 * log and id tags removed 20 년 전
tover1.pp 790a4fe2d3 * log and id tags removed 20 년 전
tover2.pp 47c1bb60b4 * remove svn:executable from *.pp and *.pas 20 년 전
tpackrec.pp e417e34496 * truncate log 21 년 전
tpara1.pp e2719218f8 * several fixes to run also with kylix 24 년 전
tpara2.pp bb4fa3dcf0 * simple test for alignment of parameters on stack 21 년 전
tparray1.pp 2d76bbf4db * changed so it still fails after today's changes 19 년 전
tparray10.pp cd5b9245f9 + support for bitsizeof() function 19 년 전
tparray11.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
tparray12.pp cc6a91a9bc * fixed packed arrays of enums in case of packenum 2/4 19 년 전
tparray2.pp 056eb5b012 * changed so it still fails after today's changes 19 년 전
tparray3.pp 9345d8c7de * fixed tests 19 년 전
tparray4.pp cd5b9245f9 + support for bitsizeof() function 19 년 전
tparray5.pp ed915f693e + another packed array test (which already works fine with my local 19 년 전
tparray6.pp 9d8649a5db + another packarray test which works 19 년 전
tparray7.pp 3f917e0ca9 + some more working packed array tests 19 년 전
tparray8.pp 3f917e0ca9 + some more working packed array tests 19 년 전
tparray9.pp 3f917e0ca9 + some more working packed array tests 19 년 전
tpftch1.pp fe1cefd621 * crash test for automatic prefetching 20 년 전
tprec1.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
tprec10.pp 340e2257f3 * don't allow taking the address of packed record fields 19 년 전
tprec2.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
tprec3.pp ba334905f0 * fixed out-of-bounds int64 constant 19 년 전
tprec4.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
tprec5.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
tprec6.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
tprec7.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
tprec8.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
tprec9.pp 340e2257f3 * don't allow taking the address of packed record fields 19 년 전
tprocext.pp 790a4fe2d3 * log and id tags removed 20 년 전
tprocvar1.pp 790a4fe2d3 * log and id tags removed 20 년 전
tprocvar2.pp d3e1891eea + added submitter, machine and comment field to sql version 22 년 전
tprocvar3.pp 790a4fe2d3 * log and id tags removed 20 년 전
tprop1.pp e417e34496 * truncate log 21 년 전
tprop2.pp a42f9109c0 * global properties 22 년 전
trange1.pp e2719218f8 * several fixes to run also with kylix 24 년 전
trange2.pp 11ab2b888a * compiles with 1.1 25 년 전
trange3.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
trange4.pp 952e80a72f * old logs removed and tabs fixed 23 년 전
trange5.pp 6f8c7b37c4 * fix trange5 for big endian machines 23 년 전
trangeob.pp b910a5da10 + problem when passing a typecasted class instance to a var parameter 20 년 전
trecreg.pp e344ee3cd7 + support for register variables which contain records 19 년 전
trecreg2.pp b5ce7e454c * fixed bug when assigning a negative value in a register to certain 19 년 전
trecreg3.pp 802fa8ed32 + new additional test program for testing record register variables 19 년 전
tresstr.pp e7d12a5de3 * renamed test suite 25 년 전
trtti1.pp b9a0b3108a * update 25 년 전
trtti2.pp 790a4fe2d3 * log and id tags removed 20 년 전
trtti3.pp 790a4fe2d3 * log and id tags removed 20 년 전
trtti4.pp d6418fa7c5 * remove executable flag for pascal source 19 년 전
trtti5.pp 68e56b9fc7 * write only unique property names in rtti 20 년 전
tset1.pp 790a4fe2d3 * log and id tags removed 20 년 전
tset2.pp 992fe2b52c * test now returns exitcode 1 in case something went wrong 22 년 전
tset3.pp 2579cd139f + support for sets with size 1 and 2 19 년 전
tset4.pp 2579cd139f + support for sets with size 1 and 2 19 년 전
tset5.pp 0bc6a2fd28 + new test for varsets and conversion among varsets 19 년 전
tstack.pp 9dd9ba53b9 * test fixed to turn off stack checking in stack checking error handling 19 년 전
tstprocv.pp 790a4fe2d3 * log and id tags removed 20 년 전
tstring1.pp 77272e9bcb * Made the test working for delphi/fpc and return error code for failures 19 년 전
tstring2.pp e7d12a5de3 * renamed test suite 25 년 전
tstring3.pp e7d12a5de3 * renamed test suite 25 년 전
tstring4.pp e417e34496 * truncate log 21 년 전
tstring5.pp 790a4fe2d3 * log and id tags removed 20 년 전
tstring6.pp 49ef73e24f * fixed test 21 년 전
tstring7.pp 16bd288cae * simple test that failed for m68k 24 년 전
tstring8.pp 9b9dd342c5 * fixed strpos() in case source or target is nil 20 년 전
tstrreal1.pp e7d12a5de3 * renamed test suite 25 년 전
tstrreal2.pp bfd9c1f91c * fixed for processors where sizeof extended = sizeof(double) 22 년 전
tstrreal3.pp d56fc311df * added DecimalSeparator:='.'; to make test locale independent. 19 년 전
tsubdecl.pp 790a4fe2d3 * log and id tags removed 20 년 전
tugeneric7.pp 058e1877ba + store compiler switch changes in generic token streams 19 년 전
tunaligned1.pp f72f9c70eb * test for unaligned function 19 년 전
tunit1.pp 1b28fe0e03 * more type redefining tests 25 년 전
tunit2.pp 093c0c3921 * 1.1 update 24 년 전
tunit3.pp 1b28fe0e03 * more type redefining tests 25 년 전
tunroll1.pp b7d874635c * fixed some small problems in loop unrolling 20 년 전
tutf81.pp cefa8ce9b9 * utf-8 fix from Rimgaudas Laucius 20 년 전
tutf82.pp 80f6b094d3 + added forgotten $codepage directive 20 년 전
tvarset1.pp 569c4871fc + first batch of varset support, as long as packset isn't changed, it doesn't change anything 19 년 전
tw6727.pp 41970b6006 + added 19 년 전
twide1.pp 1872bac94a *** empty log message *** 21 년 전
twide2.pp 790a4fe2d3 * log and id tags removed 20 년 전
uabstrcl.pp 0b79e441ab + test for published class with abstract methods 21 년 전
uenum2a.pp d0416758fb + using items of aliased enum type in other unit test 19 년 전
uenum2b.pp d0416758fb + using items of aliased enum type in other unit test 19 년 전
ugeneric10.pp 90b19e0be2 * make tgeneric10 more complex 19 년 전
ugeneric3.pp a59690b147 * make generic basics working again 20 년 전
ugeneric4.pp a59690b147 * make generic basics working again 20 년 전
uimpluni1.pp 790a4fe2d3 * log and id tags removed 20 년 전
uimpluni2.pp 7c067cef8a * renamed 25 년 전
uinline4a.pp 6fc687a44c * inline with type in implicit used unit 21 년 전
uinline4b.pp 6fc687a44c * inline with type in implicit used unit 21 년 전
umacpas1.pp 403043058c + Added tests for mode macpas 21 년 전
uprec6.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
uprec7.pp 1f42ee201b + support for bitpacked records, except for: 19 년 전
uprocext1.pp 87d02dfb7e * external handling test 21 년 전
uprocext2.pp 790a4fe2d3 * log and id tags removed 20 년 전
utasout.pp 9c95811fc0 * Renamefest 23 년 전
uunit1.pp 1b28fe0e03 * more type redefining tests 25 년 전
uunit2a.pp 1b28fe0e03 * more type redefining tests 25 년 전
uunit2b.pp 1b28fe0e03 * more type redefining tests 25 년 전
uunit3a.pp 1b28fe0e03 * more type redefining tests 25 년 전
uunit3b.pp 1b28fe0e03 * more type redefining tests 25 년 전
uunit3c.pp 1b28fe0e03 * more type redefining tests 25 년 전

README

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)