Nim/tests
2018-12-11 21:23:21 +01:00
..
actiontable Merge tests into a larger file (part 1 of ∞) (#9318) 2018-10-12 17:02:46 +02:00
alias Remove expr/stmt (#5857) 2017-07-25 09:28:23 +02:00
ambsym require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
arithm Merge tests into a larger file (part 1 of ∞) (#9318) 2018-10-12 17:02:46 +02:00
array require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
assert require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
assign require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
astoverload
async require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
bind require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
borrow require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
casestmt require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
ccgbugs require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
clearmsg require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
closure require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
cnstseq require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
collections require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
compilerapi test case for #9180 and re-enables the disabled tcompilerapi test (#9181) 2018-10-11 09:44:35 +02:00
compiles make run the default action of a test in tester 2018-11-23 11:58:28 +01:00
concat
concepts require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
constr require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
constraints require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
constructors require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
controlflow require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
converter require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
coroutines fix coro test 2018-11-23 11:58:29 +01:00
cpp join simple test 2018-11-23 11:58:32 +01:00
defaultprocparam updated tests to be executed 2018-11-23 11:58:28 +01:00
deprecated require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
deps make tests green again 2018-09-14 20:10:46 +02:00
destructor use control flow graph for sink params 2018-12-09 18:32:43 +00:00
dir with space updated tests to be executed 2018-11-23 11:58:28 +01:00
discard require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
distinct require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
dll activated more tests, allow input in test spec 2018-11-23 11:58:28 +01:00
effects require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
enum require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
errmsgs require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
exception require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
exprs require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
fields Merge tests into a larger file (part 2 of ∞) (#9335) 2018-10-13 14:58:31 +02:00
flags require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
float require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
fragmentation tests: disable flaky tests for now; closes #9421 2018-10-18 12:12:15 +02:00
friends tests: Trim .nim files trailing whitespace 2015-09-04 23:04:32 +02:00
gc make thavlak and tmarkerproc_regression tests take fewer iterations in order to speedup the CIs 2018-10-17 13:20:45 +02:00
generics require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
gensym equality check on NimSym has now support in the VM; refs #6139 2017-09-03 01:15:40 +02:00
global require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
implicit Merge tests into a larger file (part 2 of ∞) (#9335) 2018-10-13 14:58:31 +02:00
import_in_config fixes a regression that caused --import in a config file to break things 2016-08-29 11:33:41 +02:00
init activated more tests, allow input in test spec 2018-11-23 11:58:28 +01:00
iter require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
js fix js category 2018-12-11 21:23:19 +01:00
lent basic 'lent T' test works 2018-01-21 03:04:22 +01:00
let require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
lexer require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
lookups updated tests to be executed 2018-11-23 11:58:28 +01:00
macros require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
magics Don't crash if GC_{un,}ref is called on nil (#9445) 2018-10-22 17:09:15 +02:00
manyloc removes deprecated T/P types 2018-11-16 13:27:56 +01:00
metatype require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
method require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
misc require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
modules require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
namedparams require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
newconfig cleanup tests; don't use non-working 'msg' spec field 2018-11-23 13:16:45 +01:00
nimble Implement .nimble-link files in the compiler and add tests for them. 2017-09-02 15:28:25 +01:00
niminaction require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
notnil require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
objects require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
objvariant require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
openarray require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
osproc require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
overflw require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
overload require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
package_level_objects new feature: package level objects 2017-10-29 07:54:39 +01:00
parallel require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
parser require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
pragmas require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
proc require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
procvar Merge tests into a larger file (part 5 of ∞) (#9368) 2018-10-16 10:50:10 +02:00
range require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
rational require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
realtimeGC WIP, most tests are now skipped 2018-12-11 21:23:18 +01:00
rodfiles remove dead code elimination option (#7669) 2018-04-23 11:02:38 +02:00
seq Empty check in shallow [backport] (#9676) 2018-11-21 11:56:38 +01:00
sets require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
showoff Improved collection-to-string behavior (#6825) 2017-12-14 14:02:13 +01:00
specialops dotops: add a simple object delegation test 2017-12-01 02:05:48 +01:00
statictypes Prevent the construction of recursive tyStatic types (#9256) 2018-10-09 14:26:34 +02:00
stdlib require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
system cleanup tests; don't use non-working 'msg' spec field 2018-11-23 13:16:45 +01:00
template require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
testament allow to disable backend logging 2018-12-11 21:23:20 +01:00
testdata Fix for #5134 (parseJson(string) should fail on leftover data) (#5203) 2017-01-11 06:50:18 +01:00
threads require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
trmacros require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
tuples require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
typerel require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
types require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
untestable file mode bullshit 2018-08-05 09:59:16 +02:00
usingstmt require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
varres require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
varstmt require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
vm require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
dummy.txt Remove install.txt and readme.txt (#9521) 2018-10-28 13:36:52 +01:00
js.html
js.nim tests: Trim .nim files trailing whitespace 2015-09-04 23:04:32 +02:00
mmaptest.nim tests: Trim .nim files trailing whitespace 2015-09-04 23:04:32 +02:00
readme.md Testament pre parallel (#9137) 2018-10-12 17:27:47 +02:00
rectest.nim tests: Trim .nim files trailing whitespace 2015-09-04 23:04:32 +02:00
stckovfl.nim tests: Trim .nim files trailing whitespace 2015-09-04 23:04:32 +02:00
test_nimscript.nims deprecated ospaths (#9665) 2018-11-09 16:36:49 +01:00

This directory contains the test cases.

Each test must have a filename of the form: t*.nim

Note: Tests are only compiled by default. In order to get the tester to execute the compiled binary, you need to specify a spec with an action key (see below for details).

Specs

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

Check out the parseSpec procedure in the specs module for a full and reliable reference

action

Specifies what action this test should take.

Default: compile

Options:

  • compile - compiles the module and fails the test if compilations fails.
  • run - compiles and runs the module, fails the test if compilation or execution of test code fails.
  • reject - compiles the module and fails the test if compilation succeeds.

There are certain spec keys that imply run, including output and outputsub.

cmd

Specifies the Nim command to use for compiling the test.

There are a number of variables that are replaced in this spec option:

  • $target - the compilation target, e.g. c.
  • $options - the options for the compiler.
  • $file - the filename of the test.
  • $filedir - the directory of the test file.

Example:

discard """
  cmd: "nim $target --nimblePath:./nimbleDir/simplePkgs $options $file"
"""

Categories

Each folder under this directory represents a test category, which can be tested by running koch tests cat <category>.

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.