Andrey R (cooldome) dbc1425e47 fix #15662 %!s(int64=4) %!d(string=hai) anos
..
actiontable 7f18d7cbc1 Merge tests into a larger file (part 1 of ∞) (#9318) %!s(int64=6) %!d(string=hai) anos
alias 000b8afd26 Remove expr/stmt (#5857) %!s(int64=7) %!d(string=hai) anos
align abea80376a fixes #13122 (#13126) %!s(int64=5) %!d(string=hai) anos
ambsym 1105d03644 require errormsg to be specified before file. %!s(int64=6) %!d(string=hai) anos
arc 66cd9c2e57 Fix #15599 (#15601) %!s(int64=4) %!d(string=hai) anos
arithm 2f557652d4 fix operators containing percent for VM usage (#13536) %!s(int64=4) %!d(string=hai) anos
array 4c08e64e98 disallow typedesc in arrays & move existing checks to `types.typeAllowedAux` (#13261) %!s(int64=4) %!d(string=hai) anos
assert da29222f86 init checks and 'out' parameters (#14521) %!s(int64=4) %!d(string=hai) anos
assign bf2e052e6d fix rtti sizeof for varargs in global scope (#13125) [backport] %!s(int64=5) %!d(string=hai) anos
astoverload 20b5f31c03 new tester; all tests categorized %!s(int64=11) %!d(string=hai) anos
astspec 39290cf88c Fix spellings (#12277) [backport] %!s(int64=5) %!d(string=hai) anos
async aa1d7fe1e9 closureiters: fixes #15243 (#15454) [backport:1.2] %!s(int64=4) %!d(string=hai) anos
bind 45d1e55e72 Add testcases for #11811 and #14315 (#14726) %!s(int64=4) %!d(string=hai) anos
borrow 4cb41f53f0 Add testcase for #14440 (#14771) %!s(int64=4) %!d(string=hai) anos
casestmt 3f00a738db fixes #15280 [backport:1.2] (#15281) %!s(int64=4) %!d(string=hai) anos
ccgbugs 8978112457 fixes a C code generator regression, no need to backport, only the 1.4 line is affected (#15569) %!s(int64=4) %!d(string=hai) anos
ccgbugs2 e7f280bd26 Remove deprecated stuff from stdlib (#14699) %!s(int64=4) %!d(string=hai) anos
clearmsg 1105d03644 require errormsg to be specified before file. %!s(int64=6) %!d(string=hai) anos
closure b022576ce9 Use typeflag instead %!s(int64=4) %!d(string=hai) anos
cnstseq 1105d03644 require errormsg to be specified before file. %!s(int64=6) %!d(string=hai) anos
collections 3de5296337 remove a condition that table size must be passed as power of 2 (#14926) %!s(int64=4) %!d(string=hai) anos
compilepragma 7e9cda7dba fixes #10299 (#11324) %!s(int64=5) %!d(string=hai) anos
compiler e909486e5c trunner was not actually being tested in non-CTFFI mode; minor testament cleanups (#14377) %!s(int64=4) %!d(string=hai) anos
compilerapi 098a8a7c52 nimeval errorHook support (#15255) %!s(int64=4) %!d(string=hai) anos
compilerfeatures 9ecb1aae80 new compiler feature: --expandMacro %!s(int64=5) %!d(string=hai) anos
compiles 2acf74d458 delete list comprehension (#12392) %!s(int64=5) %!d(string=hai) anos
concat 20b5f31c03 new tester; all tests categorized %!s(int64=11) %!d(string=hai) anos
concepts add003a074 fix assignment to converted concept type (#15051) %!s(int64=4) %!d(string=hai) anos
constr 00528cbc3c Add testcase for #10465 (#14943) %!s(int64=4) %!d(string=hai) anos
constraints 1105d03644 require errormsg to be specified before file. %!s(int64=6) %!d(string=hai) anos
constructors be95f8fdfa Turn some of the errors back into warnings %!s(int64=4) %!d(string=hai) anos
controlflow 299ddda5f6 Make unreachable code a warning instead of an error (#14816) %!s(int64=4) %!d(string=hai) anos
converter dfe51d10a1 `addQuitProc` now works with closures, and c, js(node/browser) backend; fix some bugs in testament (#14342) %!s(int64=4) %!d(string=hai) anos
coroutines e35b21e553 Close#5586 (#14682) %!s(int64=4) %!d(string=hai) anos
cpp 142c59fc37 fix typos and deprecation warnings for tconvariancerules.nim (#13772) %!s(int64=4) %!d(string=hai) anos
defaultprocparam 35ff17410f Expand hoisted default params in sem (#15270) %!s(int64=4) %!d(string=hai) anos
deprecated 40b58a0a18 fix #11009 (#14935) %!s(int64=4) %!d(string=hai) anos
deps e7f280bd26 Remove deprecated stuff from stdlib (#14699) %!s(int64=4) %!d(string=hai) anos
destructor da4aa2e1fb renamed '=' to '=copy' [backport:1.2] (#15585) %!s(int64=4) %!d(string=hai) anos
dir with space fa058773db fixes #10042 (allow spaces in import) (#10504) %!s(int64=6) %!d(string=hai) anos
discard 7f1d2489ad improve the 'has to be discarded' error message %!s(int64=4) %!d(string=hai) anos
distinct 6c83eb48c2 add testcase for #7165 (#15368) %!s(int64=4) %!d(string=hai) anos
distros e63fc95bd4 fix tdistros test which was failing on Nightlies %!s(int64=4) %!d(string=hai) anos
dll f785174c60 Ref #14094 - disable hot code reloading tests on NetBSD (#15458) %!s(int64=4) %!d(string=hai) anos
effects 0426a4d85a fixes #15508 (#15509) %!s(int64=4) %!d(string=hai) anos
enum 9474a818af fix enumtostr crash for enum-range (#13035) %!s(int64=5) %!d(string=hai) anos
errmsgs 3b901d1e36 docgen: improve alignment of comments (still not perfect) (#15506) %!s(int64=4) %!d(string=hai) anos
exception b49ac11a77 fix #10343 (#14789) %!s(int64=4) %!d(string=hai) anos
exprs ff1c0bae4c update tests that tested for the 'discard' error messages %!s(int64=4) %!d(string=hai) anos
fields 795044ed2b make tests green again %!s(int64=5) %!d(string=hai) anos
flags 1105d03644 require errormsg to be specified before file. %!s(int64=6) %!d(string=hai) anos
float 7d6cbf290a Error -> Defect for defects (#13908) %!s(int64=4) %!d(string=hai) anos
fragmentation 381498b0db tests: disable flaky tests for now; closes #9421 %!s(int64=6) %!d(string=hai) anos
friends e80465dacf tests: Trim .nim files trailing whitespace %!s(int64=9) %!d(string=hai) anos
gc e9df8ebcfd gc_regions: cleanup & fixes for deallocation (#11920) %!s(int64=4) %!d(string=hai) anos
generics 40a868bccc add testcase for #6060 (#15366) %!s(int64=4) %!d(string=hai) anos
gensym 488f3ed085 fixes yet another gensym regression (#12145) %!s(int64=5) %!d(string=hai) anos
global 1105d03644 require errormsg to be specified before file. %!s(int64=6) %!d(string=hai) anos
ic c8cffaf420 Incremental compilation (IC): Improvements (#11881) %!s(int64=5) %!d(string=hai) anos
implicit a5ecbf823f lots of small changes %!s(int64=6) %!d(string=hai) anos
import_in_config 154db46db8 fixes a regression that caused --import in a config file to break things %!s(int64=8) %!d(string=hai) anos
init da29222f86 init checks and 'out' parameters (#14521) %!s(int64=4) %!d(string=hai) anos
isolate 71dd5f85b9 'isolate' builtin; refs https://github.com/nim-lang/RFCs/issues/244 (#15011) %!s(int64=4) %!d(string=hai) anos
iter c2434d939e fixes #15360 [backport:1.2] (#15378) %!s(int64=4) %!d(string=hai) anos
js 7cee63bba3 avoid #8231, bitwise move to mul,div (#15070) %!s(int64=4) %!d(string=hai) anos
lent cb1ecbf956 closes #14878 %!s(int64=4) %!d(string=hai) anos
let 9acbf99efb Allow let to not have value when using importc (#14258) %!s(int64=4) %!d(string=hai) anos
lexer 34815a4697 megatest: make it green on Linux %!s(int64=6) %!d(string=hai) anos
lookups 66c50c2ffc implement the 'bind' statement for generics, it was an oversight that this was never implemented (#14584) %!s(int64=4) %!d(string=hai) anos
macros 92163fa330 implements https://github.com/nim-lang/RFCs/issues/258 (#15503) %!s(int64=4) %!d(string=hai) anos
magics 51578be296 close #12746; minor cleanup (#14379) %!s(int64=4) %!d(string=hai) anos
manyloc 3de5296337 remove a condition that table size must be passed as power of 2 (#14926) %!s(int64=4) %!d(string=hai) anos
metatype a6cbe58e8c typetraits.$: $((int, float), int)` is now `"((int, float), int)"` instead of `"(tuple of (int, float), int)" (#14812) %!s(int64=4) %!d(string=hai) anos
method 7d6cbf290a Error -> Defect for defects (#13908) %!s(int64=4) %!d(string=hai) anos
misc fe187719ab fix #15516 (#15518) %!s(int64=4) %!d(string=hai) anos
modules e2b1491905 Fix #11352 strutil.insertSep() fails on negative numbers (#15087) %!s(int64=4) %!d(string=hai) anos
namedparams 6c487a6309 fixes #12196 %!s(int64=5) %!d(string=hai) anos
newconfig 695154970d deprecate existsDir; use dirExists instead (#14884) %!s(int64=4) %!d(string=hai) anos
nimble acadda8da2 tnimblepathdollarfail.nim -> tests/nimble/tnimblepathdollar_fault to reduce false positives when searching for `fail` in CI logs (#14450) %!s(int64=4) %!d(string=hai) anos
nimdoc 511bd947d3 fix bug in semgnrc: runnableExamples should not semcheck, even with > 1 arg (#14768) %!s(int64=4) %!d(string=hai) anos
niminaction e7f280bd26 Remove deprecated stuff from stdlib (#14699) %!s(int64=4) %!d(string=hai) anos
notnil eca8f1d79f Add tests for #8481, #6490 and #4061 (#14083) %!s(int64=4) %!d(string=hai) anos
objects 377f716766 fix #14698 nkRecWhen caused internalAssert in semConstructFields when generic type not mentioned in fields (#14709) %!s(int64=4) %!d(string=hai) anos
objvariant 3c38edf563 Better case coverage error message for alias and range enum (#12913) %!s(int64=5) %!d(string=hai) anos
openarray 1551fff853 clean up deprecated stuff and unused imports in tests (#13059) %!s(int64=5) %!d(string=hai) anos
osproc 26d656e73e Add first draft of new osproc.readLines (#15429) %!s(int64=4) %!d(string=hai) anos
overflw 7d6cbf290a Error -> Defect for defects (#13908) %!s(int64=4) %!d(string=hai) anos
overload e56d50d747 fix infinite recursion in typeRel (#15241) %!s(int64=4) %!d(string=hai) anos
package_level_objects c17f6c7837 new feature: package level objects %!s(int64=7) %!d(string=hai) anos
parallel 7828199827 #12103 - CI for OpenBSD (#12105) %!s(int64=4) %!d(string=hai) anos
parser 60ad95f799 Add testcase for invalid if statement (#15313) %!s(int64=4) %!d(string=hai) anos
pragmas 51e3e0c7c4 implements https://github.com/nim-lang/RFCs/issues/260 (#15505) %!s(int64=4) %!d(string=hai) anos
proc e8f4586c68 allow typed/untyped in magic procs (#12911) %!s(int64=5) %!d(string=hai) anos
procvar 749dbce4c6 Merge tests into a larger file (part 5 of ∞) (#9368) %!s(int64=6) %!d(string=hai) anos
range 7d6cbf290a Error -> Defect for defects (#13908) %!s(int64=4) %!d(string=hai) anos
rational 7d6cbf290a Error -> Defect for defects (#13908) %!s(int64=4) %!d(string=hai) anos
realtimeGC b26378a468 WIP, most tests are now skipped %!s(int64=6) %!d(string=hai) anos
semreject 3f00a738db fixes #15280 [backport:1.2] (#15281) %!s(int64=4) %!d(string=hai) anos
sets 42dad3a836 tables/sharedtables/intsets/etc: fix #13496, #13504, #13505; add lots of tests (#13498) [backport] %!s(int64=4) %!d(string=hai) anos
showoff 9465b5db44 Clean up macros (#14959) %!s(int64=4) %!d(string=hai) anos
specialops 547961f71e dotops: add a simple object delegation test %!s(int64=7) %!d(string=hai) anos
statictypes 0db32e9885 Add testcase for #12571 (#14955) %!s(int64=4) %!d(string=hai) anos
stdlib 78cbb52fa0 add tests for #15584 (#15619) %!s(int64=4) %!d(string=hai) anos
system 1fae66e4df better nativestacktrace support; refs #15284; backport [1.2] (#15384) %!s(int64=4) %!d(string=hai) anos
template fb58066b61 Fix #5691 (#15158) %!s(int64=4) %!d(string=hai) anos
testament a9eee6db65 misc testament cleanups (#14764) %!s(int64=4) %!d(string=hai) anos
testdata abe5cb82a0 Fix for #5134 (parseJson(string) should fail on leftover data) (#5203) %!s(int64=8) %!d(string=hai) anos
threads 8088633250 faster CIs (#13803) %!s(int64=4) %!d(string=hai) anos
tools 3f29911a94 new feature: --staticBoundChecks:on to enforce static array index checking (#10965) %!s(int64=4) %!d(string=hai) anos
trmacros f2b041f168 Reenable a few tests %!s(int64=4) %!d(string=hai) anos
tuples 5bd2da3f64 Fix #14911 (#14922) [backport] %!s(int64=4) %!d(string=hai) anos
typerel f2b041f168 Reenable a few tests %!s(int64=4) %!d(string=hai) anos
types d839eb9352 fix #14007 (#14012) [backport] %!s(int64=4) %!d(string=hai) anos
untestable 8e54bc5b0c Deprecate and/or remove ospaths (#14767) %!s(int64=4) %!d(string=hai) anos
usingstmt 9465b5db44 Clean up macros (#14959) %!s(int64=4) %!d(string=hai) anos
valgrind 223e65e529 attempt to add valgrind support to the CIs and testament (#12646) %!s(int64=5) %!d(string=hai) anos
varres 814f150184 fix #13848: make var result work with nim cpp (#13959) %!s(int64=4) %!d(string=hai) anos
varstmt 3b783f7e13 Testament: refactoring; makes the test joiner green %!s(int64=6) %!d(string=hai) anos
views 4e438f9096 const view types; fixes some cases from https://github.com/nim-lang/Nim/issues/15428 (#15488) %!s(int64=4) %!d(string=hai) anos
vm dbc1425e47 fix #15662 %!s(int64=4) %!d(string=hai) anos
ast_pattern_matching.nim 389b140029 add tastspec (and ast_pattern_matching) (#10863) %!s(int64=5) %!d(string=hai) anos
config.nims 1648f1dd99 fix #14320 (tasyncawait.nim is recently very flaky) + avoid hardcoding service ports everywhere + flakyAssert (#14327) %!s(int64=4) %!d(string=hai) anos
dummy.txt a68a4bfaf2 Remove install.txt and readme.txt (#9521) %!s(int64=6) %!d(string=hai) anos
js.html 72a3e21f28 Removes executable bit for text files. %!s(int64=12) %!d(string=hai) anos
js.nim e80465dacf tests: Trim .nim files trailing whitespace %!s(int64=9) %!d(string=hai) anos
m14634.nim d149823019 fix #13166 tioselectors flaky test on freebsd+OSX (#14634) %!s(int64=4) %!d(string=hai) anos
mmaptest.nim 39290cf88c Fix spellings (#12277) [backport] %!s(int64=5) %!d(string=hai) anos
readme.md 54a52e7d08 Update link to parseSpec proc %!s(int64=4) %!d(string=hai) anos
rectest.nim e80465dacf tests: Trim .nim files trailing whitespace %!s(int64=9) %!d(string=hai) anos
stckovfl.nim e80465dacf tests: Trim .nim files trailing whitespace %!s(int64=9) %!d(string=hai) anos
test_nimscript.nims 695154970d deprecate existsDir; use dirExists instead (#14884) %!s(int64=4) %!d(string=hai) anos

readme.md

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. It includes a C client and platform specific build files for manual compilation.