Nim/tests
2021-06-24 19:19:50 +02:00
..
actiontable Merge tests into a larger file (part 1 of ∞) (#9318) 2018-10-12 17:02:46 +02:00
alias
align testament: error instead of silently ignore invalid targets; remove pointless alias target vs targets; document matrix; DRY (#16343) 2020-12-14 10:58:29 +01:00
ambsym require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
arc ARC: fixes memory leaks with newSeq used in a loop [backport:1.4] (#18040) 2021-05-18 21:45:37 +02:00
arithm JS: fix div uint64 no truncation (#16899) 2021-02-15 14:22:46 +01:00
array Fix array's high & low return type for empty arrays (#17705) 2021-04-15 15:45:38 +02:00
assert Improve documentation for assertions (#16988) 2021-02-11 07:21:27 +01:00
assign use typeof instead type (#16962) 2021-02-08 09:46:07 +01:00
astoverload
astspec unify tuple expressions (#13793) 2021-03-30 02:06:51 +02:00
async asyncdispatch+stackTraceOverride: fix premature collection (#18039) [backport:1.2] 2021-05-19 19:19:11 +02:00
avr ensure the avr example keeps compiling (#17663) 2021-04-07 13:40:57 +02:00
benchmarks fix #16752: threadvar now works with importcpp types; osx now uses native TLS (--tlsEmulation:off), which can be orders of magnitude faster (#16750) 2021-01-27 22:35:43 +01:00
bind typeToString: type float => typedesc[float] (#17011) 2021-02-12 17:10:20 +01:00
borrow Add testcase for #14440 (#14771) 2020-06-23 14:17:12 +02:00
casestmt nnkArglist => nnkArgList + special case stylecheck:error (#17529) 2021-03-27 10:28:11 +01:00
ccgbugs improve tsets.nim, twrong_setconstr.nim and avoid name clashes with compiler sets (#17876) 2021-04-29 13:53:58 +02:00
ccgbugs2 testament: error instead of silently ignore invalid targets; remove pointless alias target vs targets; document matrix; DRY (#16343) 2020-12-14 10:58:29 +01:00
clearmsg require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
closure use typeof instead type (#16962) 2021-02-08 09:46:07 +01:00
cnstseq require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
collections hashes for refs should be an opt-in feature (#18098) 2021-05-30 23:55:51 +02:00
compilepragma fixes #10299 (#11324) 2019-05-25 07:33:33 +02:00
compiler add more APIs to compiler/debugutils; re-export it (#18243) 2021-06-18 15:52:08 +02:00
compilerapi big steps torwards an efficient, simple IC implementation (#16543) 2021-01-02 07:30:39 +01:00
compilerfeatures fix #16693: testament spec nimout too lax (#16698) 2021-04-04 13:47:28 -07:00
compiles delete list comprehension (#12392) 2019-11-22 19:57:43 +01:00
concat
concepts close #17636 (#17643) 2021-04-06 16:20:01 +02:00
constr semLambda removed, semProcAux reworked (#17379) 2021-03-17 19:51:50 +01:00
constraints require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
constructors Turn some of the errors back into warnings 2020-04-01 19:38:44 +02:00
controlflow Make unreachable code a warning instead of an error (#14816) 2020-06-29 08:49:53 +02:00
converter semLambda removed, semProcAux reworked (#17379) 2021-03-17 19:51:50 +01:00
coroutines fix #15628 (#16387) 2021-01-21 17:31:47 +01:00
cpp refs #18011 disable some newly failing tests on cpp windows; refs #17946 increase timeout for tchannels (#18012) 2021-05-14 15:33:17 -07:00
defaultprocparam Add testcase for #12252 (#15676) 2020-10-22 12:51:03 +02:00
deprecated fix #11009 (#14935) 2020-07-09 09:57:35 +02:00
destructor Add some tests (#18333) 2021-06-23 17:56:20 +02:00
dir with space fixes #10042 (allow spaces in import) (#10504) 2019-01-31 08:20:00 +01:00
discard improve the 'has to be discarded' error message 2020-05-02 22:31:19 +02:00
distinct fix #12282 distinct now does not create erroneous copy in VM (#17594) 2021-03-31 10:15:08 +02:00
distros fix tdistros test which was failing on Nightlies 2020-04-28 15:59:32 +02:00
dll IC: green tests (#17311) 2021-03-19 16:53:38 +01:00
effects make strict funcs analysis smarter (#18219) 2021-06-09 17:33:19 +02:00
enum followup #17876: remove annoying enum name clashes in tests/enum/tenum.nim (#18291) 2021-06-17 16:19:16 -07:00
errmsgs float parsing: Add test for a fixed issue (#18232) 2021-06-24 19:19:50 +02:00
exception tests/exception/tsetexceptions.nim not joinable (#18264) 2021-06-17 08:20:33 +02:00
exprs fix #16693: testament spec nimout too lax (#16698) 2021-04-04 13:47:28 -07:00
fields use doAssert in tests (#16486) 2020-12-28 14:13:21 +01:00
float fix #7717 roundtrip float to string; fix parseFloat for js (#18248) 2021-06-13 07:32:47 +02:00
fragmentation tests: disable flaky tests for now; closes #9421 2018-10-18 12:12:15 +02:00
friends
gc Raise IndexDefect when deleting element at out of bounds index (#17821) 2021-06-20 08:56:33 -07:00
generics typo: nonexistant => nonexistent (#17918) 2021-05-02 00:26:41 +02:00
gensym fixes yet another gensym regression (#12145) 2019-09-06 00:45:00 +02:00
global require errormsg to be specified before file. 2018-12-11 21:23:21 +01:00
ic IC exposes typedesc implementation shenanigans (#17759) 2021-04-18 07:27:03 +02:00
implicit lots of small changes 2018-12-11 21:23:22 +01:00
import_in_config
importalls typo: nonexistant => nonexistent (#17918) 2021-05-02 00:26:41 +02:00
init close #17636 (#17643) 2021-04-06 16:20:01 +02:00
isolate fixes #18326 (#18335) 2021-06-23 23:31:17 +02:00
iter Fixes #17849 (#18055) [backport:1.2] 2021-05-30 22:38:33 +02:00
js fix #16993, #18054, #17835 runnableExamples now works with templates and nested templates (#18082) 2021-06-02 09:02:14 -07:00
lent fix #16898 #17621 (#17628) 2021-04-06 18:01:54 +02:00
let Allow let to not have value when using importc (#14258) 2020-05-12 20:28:18 +02:00
lexer typo: nonexistant => nonexistent (#17918) 2021-05-02 00:26:41 +02:00
lookups make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 2020-11-28 09:09:31 +01:00
macros Fix doubly typed forward declarations (#18279) 2021-06-16 16:40:22 +02:00
magics make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 2020-11-28 09:09:31 +01:00
manyloc fix #17952: fix both false positives and false negatives for reInvalidSpec (#17956) 2021-05-08 00:22:21 +02:00
metatype fixes #18059 (#18140) 2021-06-02 13:13:23 +02:00
method fix #16516 method dispatch for sink args (#16594) 2021-01-06 10:47:03 +00:00
misc support --hint:all:off --hint:x (ditto with --warnings + friends) (#17852) 2021-06-20 19:52:22 +02:00
modules fix #17952: fix both false positives and false negatives for reInvalidSpec (#17956) 2021-05-08 00:22:21 +02:00
namedparams fixes #12196 2019-09-16 12:12:44 +02:00
navigator IC navigator: added support for include files (#17784) 2021-04-19 22:37:09 +02:00
newconfig config system: special case -d:release and -d:danger [backport:1.4] (#18051) 2021-05-20 11:52:46 +02:00
nimble testament spec: remove errmsg alias of errormsg (#16188) 2020-11-29 17:32:34 -08:00
nimdoc fix #16993, #18054, #17835 runnableExamples now works with templates and nested templates (#18082) 2021-06-02 09:02:14 -07:00
niminaction use lowercase --define switches (#17283) 2021-03-07 12:08:41 +01:00
notnil add testcase for #9466 (#17538) 2021-03-28 00:57:22 -07:00
objects fixes #17437 - crash where error reporting > 1 (#17547) 2021-03-29 12:48:00 +02:00
objvariant close #17636 (#17643) 2021-04-06 16:20:01 +02:00
openarray fix #12521(type alias for openArray) (#17593) 2021-04-19 11:21:35 +02:00
osproc fixes #18058 (#18162) 2021-06-03 17:12:45 +02:00
overflw Fix #15706 (#15846) 2020-11-07 08:00:41 +00:00
overload make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 2020-11-28 09:09:31 +01:00
package_level_objects
parallel add colon (#17834) 2021-04-24 18:33:29 +01:00
parser Small parser loop fix (#17904) 2021-04-30 17:17:29 +02:00
pragmas move {.injectStmt.} to experimental; add a test (#18300) 2021-06-20 09:51:07 +02:00
proc fix #18113 (#18124) 2021-05-31 13:27:44 +02:00
procvar Merge tests into a larger file (part 5 of ∞) (#9368) 2018-10-16 10:50:10 +02:00
range change --hint[X] => --hint:X in nim repo (avoids shell quoting issues) (#18085) 2021-05-26 09:51:48 +02:00
rational Error -> Defect for defects (#13908) 2020-04-28 19:56:01 +02:00
realtimeGC testament: remove deadcode related to realtimeGC, testC, callCCompiler (#18087) 2021-05-26 11:49:01 -07:00
sandwich fixes #11225; generic sandwich problems; [backport:1.2] (#17255) 2021-03-09 20:19:24 +01:00
sets close #16123 std/sets with closures in cpp (#17921) 2021-05-03 07:07:31 +02:00
showoff Clean up macros (#14959) 2020-07-14 16:44:56 +02:00
specialops tests and docs for call operator (#16980) 2021-02-09 12:18:16 +01:00
statictypes make testament isSuccess more robust and allow tests with --hints:off to succeed (#17968) 2021-05-11 06:54:52 +02:00
stdlib enable VM tracing in user code via {.define(nimVmTrace).} (#18244) 2021-06-24 11:55:31 +02:00
stmt fix #15972 (#15994) 2020-11-18 00:14:14 +00:00
strictnotnil Nil type check implementation (#15287) 2020-12-29 10:31:11 +01:00
stylecheck fix #17960: honor matrix also for action: compile, action: reject (#17980) 2021-05-09 09:50:08 +02:00
system Raise IndexDefect when deleting element at out of bounds index (#17821) 2021-06-20 08:56:33 -07:00
template fix #18113 (#18124) 2021-05-31 13:27:44 +02:00
testament testament :show duration also for failed tests; improve tshould_not_work; mitigate #17946 tchannels timeouts (#17947) 2021-05-08 17:13:47 +02:00
testdata
threads fix #17267 (#17273) 2021-03-07 12:13:41 +01:00
tools change --hint[X] => --hint:X in nim repo (avoids shell quoting issues) (#18085) 2021-05-26 09:51:48 +02:00
trmacros Reenable a few tests 2020-07-14 19:50:42 +02:00
tuples close #7012 add testcase (#17537) 2021-03-27 10:12:11 -07:00
typerel typo: nonexistant => nonexistent (#17918) 2021-05-02 00:26:41 +02:00
types typo: nonexistant => nonexistent (#17918) 2021-05-02 00:26:41 +02:00
untestable [nim-gdb] Fixed enums and flag output [ci skip] (#17634) 2021-04-05 11:37:28 +02:00
usingstmt Clean up macros (#14959) 2020-07-14 16:44:56 +02:00
valgrind testament: support disabled:osx as alias to disabled:macosx (#17124) 2021-02-22 11:01:15 +01:00
varres close #17636 (#17643) 2021-04-06 16:20:01 +02:00
varstmt Testament: refactoring; makes the test joiner green 2018-12-11 21:23:23 +01:00
views view types: spec changes (#18226) 2021-06-10 16:49:17 +02:00
vm fix #18310 system.== in vm for NimNode (#18313) 2021-06-21 09:46:31 +02:00
whenstmt when statements branches exit early (#17143) 2021-02-22 12:27:23 +01:00
ast_pattern_matching.nim unify tuple expressions (#13793) 2021-03-30 02:06:51 +02:00
config.nims testament: add nimoutFull: bool spec (#17867) 2021-04-27 11:11:28 +02:00
dummy.txt Remove install.txt and readme.txt (#9521) 2018-10-28 13:36:52 +01:00
js.html
js.nim
m14634.nim use doAssert in tests (#16486) 2020-12-28 14:13:21 +01:00
mmaptest.nim Fix spellings (#12277) [backport] 2019-09-27 07:02:54 +02:00
readme.md testament: remove deadcode related to realtimeGC, testC, callCCompiler (#18087) 2021-05-26 11:49:01 -07:00
rectest.nim
stckovfl.nim
test_nimscript.nims Make parseopt available on all backends (#17009) 2021-02-13 09:05:40 +01:00

This directory contains the test cases.

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

Note: Testament is only aware of tests under a directory (eg tests/foo/) and will ignore top-level tests like tests/tbar.nim.

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: run

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 pcat <category> (or cat to avoid parallel testing, which is slower).

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.