Nim/tests
Adam Strzelecki 1d47617d1b Macros: Introduce getType(t: typedesc): NimNode
Since typedesc are exception in macros and they are not implicitly converted to
NimNode on macro call, we need some means to perform such conversion on demand.

Fortunately it is as simple as declaring new magic "NGetType" proc with
typedesc parameter.

NOTE: Keeping actual macro exceptional behavior for typedesc is important,
since it allows passing typedesc macro parameter to other procs or macros
expecting type parameter. If typedesc parameter was implicitly converted, then
we would lost this ability.
2015-05-17 15:28:41 +02:00
..
actiontable some love for the testsuite; fixed regressions 2015-03-01 21:41:21 +01:00
alias new tester; all tests categorized 2014-01-13 02:10:03 +01:00
ambsym Changed tests and tools to use 'discard' statements instead of 'nil' for empty blocks. 2014-02-15 18:57:03 -05:00
array implemented a[^1] notation 2015-03-26 02:12:38 +01:00
assert fixes #2500 2015-04-10 14:03:47 +02:00
assign overloading of '=' works 2015-04-06 23:21:52 +02:00
astoverload new tester; all tests categorized 2014-01-13 02:10:03 +01:00
async Fix infinite recursion when await is in except body. 2015-03-30 00:42:21 +01:00
benchmarks Added benchmark tool and some benchmarks. 2012-03-22 20:15:16 +00:00
bind Fix expected tester messages 2015-04-21 11:17:24 +02:00
borrow made some tests green 2014-08-31 12:34:35 +02:00
caas Rename PNimrodNode to NimNode 2015-03-17 17:50:32 +01:00
casestmt made test green 2015-03-25 14:26:47 +01:00
ccgbugs fixes #2551; fixes #2212; breaks bootstrapping in debug mode; bootstrap with -d:release 2015-04-25 23:16:57 +02:00
clearmsg fixes #2252 2015-03-04 21:19:38 +01:00
closure Fix expected tester messages 2015-04-21 11:17:24 +02:00
cnstseq new tester; all tests categorized 2014-01-13 02:10:03 +01:00
collections Merge pull request #2660 from MrJohz/contains-tables 2015-05-08 02:19:45 +02:00
compiles fixes #1055 2014-11-16 20:32:05 +01:00
concat new tester; all tests categorized 2014-01-13 02:10:03 +01:00
concepts fixes #2404 2015-03-25 13:21:50 +01:00
constr make tests green 2014-08-31 15:15:26 +02:00
constraints new tester; all tests categorized 2014-01-13 02:10:03 +01:00
controlflow fixes recently introduced regression 2014-08-21 09:59:57 +02:00
converter Fix tests some more 2015-03-17 00:02:47 +01:00
cpp fixes #1888 2015-04-27 23:11:59 +02:00
defaultprocparam new tester; all tests categorized 2014-01-13 02:10:03 +01:00
deprecated fixes --gc:none regression; made some tests green 2015-03-10 12:32:47 +01:00
destructor better alternative to 'override' 2015-04-07 00:13:47 +02:00
dir with space proper 'space in dir' test 2015-01-27 01:33:48 +01:00
discard fixes #942 2014-03-05 08:30:05 +01:00
distinct fixes #2629, fixes #2641, fixes #2632, fixes #2630 2015-05-03 01:08:52 +02:00
dll Rename *.nimrod.cfg to *.nim.cfg 2015-02-03 09:04:24 +01:00
effects make test green 2015-04-11 10:01:11 +02:00
enum fixes --gc:none regression; made some tests green 2015-03-10 12:32:47 +01:00
exception fixes #1888 2015-04-27 23:11:59 +02:00
exprs Use ^ instead of - in slices 2015-03-28 00:38:15 +01:00
fields fixes #2134 2015-02-20 20:01:25 +01:00
float make tests green 2014-08-31 15:15:26 +02:00
friends new tester; all tests categorized 2014-01-13 02:10:03 +01:00
gc increase limit for 64bit systems 2015-02-10 22:23:38 +01:00
generics fixes #2509 2015-04-11 10:01:10 +02:00
gensym new tester; all tests categorized 2014-01-13 02:10:03 +01:00
global some love for the testsuite; fixed regressions 2015-03-01 21:41:21 +01:00
implicit unsigned array indexes work better; minor cleanups 2015-02-10 20:19:46 +01:00
init fixes #2316 2015-03-11 20:11:08 +01:00
iter Clean up tests/iter 2015-02-04 21:40:33 +01:00
js fixes #2581 2015-04-22 12:04:10 +02:00
let Fix tests some more 2015-03-17 00:02:47 +01:00
lexer new tester; all tests categorized 2014-01-13 02:10:03 +01:00
lookups make tests green 2014-08-31 15:15:26 +02:00
macros Macros: Introduce getType(t: typedesc): NimNode 2015-05-17 15:28:41 +02:00
magics new tester; all tests categorized 2014-01-13 02:10:03 +01:00
manyloc Move the noreturn pragma to sysFatal 2015-05-05 20:26:54 +02:00
metatype Tests for static class proc, methods & iterators 2015-05-13 19:10:54 +02:00
method fixes #2401 2015-03-25 13:05:32 +01:00
misc fixes #2550 2015-04-22 12:04:09 +02:00
modules Fix tests a bit more 2015-03-10 15:34:15 +01:00
namedparams new tester; all tests categorized 2014-01-13 02:10:03 +01:00
notnil fixes #2355 2015-03-28 00:47:03 +01:00
objects fixes #1658 2015-04-11 10:01:12 +02:00
objvariant Fix tests some more 2015-03-17 00:02:47 +01:00
openarray new tester; all tests categorized 2014-01-13 02:10:03 +01:00
osproc Clean up tests/osproc 2015-02-04 22:15:30 +01:00
overflw make tests green 2014-08-31 15:15:26 +02:00
overload fixes regression: overloading by 'var' 2015-04-25 23:17:00 +02:00
parallel fixes a serious codegen bug that caused to emit wrong barriers in rare cases 2015-04-19 13:36:22 +02:00
parser cleanups for underscores in tuple unpacking 2015-04-24 13:08:42 +02:00
pragmas parser support anon iterators 2014-01-20 20:07:44 +01:00
proc new tester; all tests categorized 2014-01-13 02:10:03 +01:00
procvar make tests green 2014-08-31 15:15:26 +02:00
range made some tests green 2014-08-31 12:34:35 +02:00
realtimeGC integrated realtimegc stuff into testament 2015-04-13 22:36:35 -05:00
rodfiles nimrod -> nim in some filenames 2015-02-14 19:00:11 +01:00
seq fixed tests/seq/tsequtils.nim 2015-01-07 19:05:37 +08:00
sets fixes #2470, fixes #1354 2015-04-28 20:21:53 +02:00
showoff Rename PNimrodNode to NimNode 2015-03-17 17:50:32 +01:00
specialops the delegator pragma becomes a set of dot operators 2014-02-15 17:41:35 +02:00
stdlib marshalling can be done at compile-time 2015-04-25 23:17:00 +02:00
system fixes #2420; negative indexing for slicing is obsolete (breaking change!) 2015-03-28 00:15:04 +01:00
template fixes #2629, fixes #2641, fixes #2632, fixes #2630 2015-05-03 01:08:52 +02:00
testament run the C test too 2015-05-13 13:13:30 -05:00
testdata Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
threads fixes #1816 2015-01-02 03:32:45 +01:00
trmacros some love for the testsuite; fixed regressions 2015-03-01 21:41:21 +01:00
tuples made test green 2015-05-03 01:08:53 +02:00
typerel fixes #1988 2015-01-31 16:23:38 +01:00
types fixes #2470, fixes #1354 2015-04-28 20:21:53 +02:00
usingstmt Rename PNimrodNode to NimNode 2015-03-17 17:50:32 +01:00
varres new tester; all tests categorized 2014-01-13 02:10:03 +01:00
varstmt make tests green 2014-08-31 15:15:26 +02:00
vm Rename PNimrodNode to NimNode 2015-03-17 17:50:32 +01:00
benchmark.nim renamed babelcmd to nimblecmd; config files are now nim.cfg; other renamings 2014-08-29 09:03:00 +02:00
js.html Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
js.nim renamed babelcmd to nimblecmd; config files are now nim.cfg; other renamings 2014-08-29 09:03:00 +02:00
mmaptest.nim bugfix: threading on PowerPC 2012-02-02 00:16:33 +01:00
readme.txt add test note to the readme 2015-01-06 15:05:51 -06:00
rectest.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
stckovfl.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00

This directory contains the test cases.
Each test must have a filename of the form: ``t*.nim``

Each test can contain a spec in a ``discard """"""`` block.

The folder ``rodfiles`` contains special tests that test incremental
compilation via symbol files.

The folder ``dll`` contains simple DLL tests.

The folder ``realtimeGC`` contains a test for validating that the realtime GC
can run properly without linking against the nimrtl.dll/so. It includes a C
client and platform specific build files for manual compilation.