README 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. This directory contains tests for several parts of the compiler and RTL
  2. --------------------------------------------------------------------
  3. Code generator
  4. --------------------------------------------------------------------
  5. These tests should be considered unitary, as they only verify
  6. simple cases of the code generator. Used for porting to other
  7. architectures. Tries to validate all possible Location types
  8. valid for that node. They are based on tests on these
  9. reference platforms:
  10. Borland Pascal v7.01
  11. Delphi 3.0
  12. Delphi 4.0
  13. Delphi 6.0 Personal Edition
  14. 'Natural type' is a signed 32-bit value on 32-bit architectures.
  15. 'Natural type' is a signed 64-bit value on 64-bit architectures.
  16. --------------------------------------------------------------------
  17. Compiler
  18. --------------------------------------------------------------------
  19. Shortstrings .......... tstring1.pp compatibility and speed of shortstrings
  20. tstring2.pp some misc. tests mainly collected
  21. from bug reports
  22. tstring3.pp Typed Constant string loading from
  23. other constants
  24. tstring4.pp Ansistring #1
  25. tstring5.pp Ansistring #2
  26. Classes ............... tclass1.pp AfterConstruction
  27. tclass2.pp BeforeDestruction
  28. Objects ............... tobject1.pp Fail in constructor
  29. Exceptions ............ texception1.pp
  30. texception2.pp
  31. texception3.pp
  32. texception4.pp Math exceptions
  33. Procedure Variable .... tprocvar1.pp
  34. tprocvar2.pp
  35. Libraries ............. testlib.pp a very primitive test
  36. Parameter passing ..... tpara1.pp Out Parameter
  37. Units ................. testu1.pp tests init. & finalization and halt
  38. testu2.pp in finalization
  39. testu3.pp a type redefining problem
  40. testu4.pp
  41. testu5.pp
  42. case .................. tcase1.pp tests case statements with byte and word
  43. sized decision variables
  44. tcase2.pp tests case with sub enum types
  45. Arrays ................ tarray1.pp open arrays with classes
  46. tarray2.pp Array of const
  47. tarray3.pp Array of Char #1 (Known bug)
  48. tarray4.pp Array of Char #2 (Known bug)
  49. Enumerations .......... tenum1.pp tests assignments of subrange
  50. enumerations
  51. Codegenerration ....... tcg1.pp i386 pushw
  52. tcg2.pp saveregisters
  53. Inline ................ tinline1.pp tests recursive inlining, inlining
  54. a procedure multiple times and
  55. inlining procedures in other
  56. inline procedures.
  57. tinlin64.pp tests for a problem in pushing 64bit parameters
  58. by value.
  59. TypeInfo .............. trtti2.pp test the function system.typeinfo
  60. trtti3.pp tests the procedure system.finalize
  61. Resourcestrings ....... tresstr.pp tests a simple resource string
  62. Range checking ........ trange1.pp range checking when converting int64/
  63. qword to longint/cardinal
  64. trange2.pp range checking when converting
  65. between longint and cardinal
  66. trange3.pp range checking for array
  67. trange4.pp range checking when assigning
  68. values to int64/qword
  69. Floating Point ........ tfpu1.pp
  70. tfpu2.pp
  71. Assembler readers.......tasmread.pp tests for support of unit or program specifier
  72. testmovd.pp testspecial issues about MOVD instruction
  73. tasout.pp tests a problem if a unit is compiled with nasm
  74. --------------------------------------------------------------------
  75. RTL
  76. --------------------------------------------------------------------
  77. SYSTEM
  78. ------
  79. str/write(real_type) .. tstrreal1.pp test correct rounding
  80. tstrreal2.pp test correct writing of 10 till 1e-24
  81. Heap .................. theap.pp Heap manager test
  82. input/output .......... /units/system/tiorte.pp tests inoutres values of invalid operations
  83. Random ................ /units/system/trandom.pp tests random (interactive)
  84. DOS
  85. ---
  86. General .............. /units/dos/tdos.pp (interactive)
  87. General .............. /units/dos/testdos.pas (interactive)
  88. FExpand .............. /units/dos/tfexpand.pp
  89. CRT
  90. ---
  91. General .............. /units/crt/tcrt.pp tests most crt unit functions (interactive)