Araq 0233ae4c42 added basic simple test for --experimental:cyclicImports 3 lat temu
..
actiontable 7f18d7cbc1 Merge tests into a larger file (part 1 of ∞) (#9318) 6 lat temu
alias 000b8afd26 Remove expr/stmt (#5857) 7 lat temu
align 7e1ae35195 testament: error instead of silently ignore invalid targets; remove pointless alias target vs targets; document matrix; DRY (#16343) 4 lat temu
ambsym 1105d03644 require errormsg to be specified before file. 6 lat temu
arc e8dad482a3 fixes #16246 (#18800) 3 lat temu
arithm 339ebe958d JS: fix div uint64 no truncation (#16899) 3 lat temu
array 018465a234 fixes #18643 [backport:1.0] (#18678) 3 lat temu
assert d4f7f1d8f3 Improve documentation for assertions (#16988) 3 lat temu
assign d447c0fe3f use typeof instead type (#16962) 3 lat temu
astoverload 20b5f31c03 new tester; all tests categorized 11 lat temu
astspec 5b26f2bd81 fix deprecated example (#18721) 3 lat temu
async 2bc07554cc make proc names consistent (#18626) 3 lat temu
avr 939df8cbda ensure the avr example keeps compiling (#17663) 3 lat temu
benchmarks e112974920 fix #16752: threadvar now works with importcpp types; osx now uses native TLS (`--tlsEmulation:off`), which can be orders of magnitude faster (#16750) 3 lat temu
bind e40ff24c23 typeToString: type float => typedesc[float] (#17011) 3 lat temu
borrow 4cb41f53f0 Add testcase for #14440 (#14771) 4 lat temu
casestmt a65189a739 nnkArglist => nnkArgList + special case stylecheck:error (#17529) 3 lat temu
ccgbugs 198b5e3a7a improve tsets.nim, twrong_setconstr.nim and avoid name clashes with compiler sets (#17876) 3 lat temu
ccgbugs2 7e1ae35195 testament: error instead of silently ignore invalid targets; remove pointless alias target vs targets; document matrix; DRY (#16343) 4 lat temu
clearmsg 1105d03644 require errormsg to be specified before file. 6 lat temu
closure d447c0fe3f use typeof instead type (#16962) 3 lat temu
cnstseq 1105d03644 require errormsg to be specified before file. 6 lat temu
collections 50e98e6efa hashes for refs should be an opt-in feature (#18098) 3 lat temu
compilepragma 7e9cda7dba fixes #10299 (#11324) 5 lat temu
compiler 5e6680406f Add changes required by Nimble lock file support (#12104) 3 lat temu
compilerapi 73a8b950cb big steps torwards an efficient, simple IC implementation (#16543) 4 lat temu
compilerfeatures 70a30317f7 fix #16693: testament spec nimout too lax (#16698) 3 lat temu
compiles 9cb5ab0108 fix #18578 (#18580) 3 lat temu
concat 20b5f31c03 new tester; all tests categorized 11 lat temu
concepts ac5435ecd0 Make error message for empty new-styled concept more descriptive (#18506) 3 lat temu
constr 72b89eff82 semLambda removed, semProcAux reworked (#17379) 3 lat temu
constraints 1105d03644 require errormsg to be specified before file. 6 lat temu
constructors be95f8fdfa Turn some of the errors back into warnings 4 lat temu
controlflow 299ddda5f6 Make unreachable code a warning instead of an error (#14816) 4 lat temu
converter 72b89eff82 semLambda removed, semProcAux reworked (#17379) 3 lat temu
coroutines dfe6797023 fix #15628 (#16387) 3 lat temu
cpp 2ce592a209 refs #18011 disable some newly failing tests on cpp windows; refs #17946 increase timeout for tchannels (#18012) 3 lat temu
defaultprocparam 7c359a062c Add testcase for #12252 (#15676) 4 lat temu
deprecated b8f761b7e2 even lighter version of #17938: fix most issues with UnusedImport, XDeclaredButNotUsed, etc; fix #17511, #17510, #14246 (without realModule) (#18362) 3 lat temu
destructor 6b3c77e7f4 Remove tracking of environment from osenv.nim v2 (#18575) 3 lat temu
dir with space fa058773db fixes #10042 (allow spaces in import) (#10504) 5 lat temu
discard 7f1d2489ad improve the 'has to be discarded' error message 4 lat temu
distinct ee2eb5cae2 Fix subranges of distinct types (#18816) [backport] 3 lat temu
distros e63fc95bd4 fix tdistros test which was failing on Nightlies 4 lat temu
dll 779b4e307b don't use `{.rtl.}` for generics, otherwise `-d:useNimRtl` gives `ambiguous identifier` nimrtl error (#18406) 3 lat temu
effects 34a53e8049 fixes #12642 (#18811) 3 lat temu
enum 06ff0e9624 fixes #18769 (#18790) 3 lat temu
errmsgs 5fd150b7f7 asynchttpserver: ipv6 support (#18706) 3 lat temu
exception 916d0c21af fix #18620 (#18624) 3 lat temu
exprs 70a30317f7 fix #16693: testament spec nimout too lax (#16698) 3 lat temu
fields 6d442a40a6 use doAssert in tests (#16486) 4 lat temu
float cc0f02d57d rename nimFpRoundtrips => nimPreviewFloatRoundtrip (#18566) 3 lat temu
fragmentation 381498b0db tests: disable flaky tests for now; closes #9421 6 lat temu
friends e80465dacf tests: Trim .nim files trailing whitespace 9 lat temu
gc 92cb765714 Raise IndexDefect when deleting element at out of bounds index (#17821) 3 lat temu
generics 30d28bcefc Fixes implicit and explicit generics in procedures (#18808) 3 lat temu
gensym 488f3ed085 fixes yet another gensym regression (#12145) 5 lat temu
global 1105d03644 require errormsg to be specified before file. 6 lat temu
ic 7b6ab5109f IC exposes typedesc implementation shenanigans (#17759) 3 lat temu
implicit a5ecbf823f lots of small changes 6 lat temu
import_in_config 154db46db8 fixes a regression that caused --import in a config file to break things 8 lat temu
importalls 78e2d299df typo: nonexistant => nonexistent (#17918) 3 lat temu
init 7bfb9f0002 close #17636 (#17643) 3 lat temu
isolate 0f91b67f5c fixes #18326 (#18335) 3 lat temu
iter 90bfd34250 '[]' can now be used for iterators (#18814) 3 lat temu
js c56008450a fix CI failure(upstream changes) (#18820) 3 lat temu
lent e406e28738 fix #16898 #17621 (#17628) 3 lat temu
let 9acbf99efb Allow let to not have value when using importc (#14258) 4 lat temu
lexer 5c85e480a6 unicode operator bugfixes (#18802) 3 lat temu
lookups b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
macros c70e4040bd fixes #14511 [backport:1.4] (#18732) 3 lat temu
magics f048dad7c3 add testcase for #6499 #12229 #7172 (#18547) 3 lat temu
manyloc fb677bf5c9 fix #17952: fix both false positives and false negatives for reInvalidSpec (#17956) 3 lat temu
metatype f10eef29b5 fixes #18059 (#18140) 3 lat temu
method 58b9191354 fix #16516 method dispatch for sink args (#16594) 4 lat temu
misc 3aa16c1de0 fix RFC #341: dot-like operators are now parsed with same precedence as `.` (#18711) 3 lat temu
modules 0233ae4c42 added basic simple test for --experimental:cyclicImports 3 lat temu
namedparams 6c487a6309 fixes #12196 5 lat temu
navigator 3b80f0dc8e IC navigator: added support for include files (#17784) 3 lat temu
newconfig df429fa287 config system: special case -d:release and -d:danger [backport:1.4] (#18051) 3 lat temu
nimble 31a8cf16bb testament spec: remove errmsg alias of errormsg (#16188) 4 lat temu
nimdoc 0de3d4292f fix #16993, #18054, #17835 runnableExamples now works with templates and nested templates (#18082) 3 lat temu
niminaction 0e3ea16554 use lowercase --define switches (#17283) 3 lat temu
notnil c86fdfa1ee add testcase for #9466 (#17538) 3 lat temu
objects c6dc9c0255 fixes #17437 - crash where error reporting > 1 (#17547) 3 lat temu
objvariant cddf8ec6f6 implements https://github.com/nim-lang/RFCs/issues/407 (#18793) 3 lat temu
openarray 83fa0fc843 fix #12521(type alias for openArray) (#17593) 3 lat temu
osproc 06232b7f2e fixes #18058 (#18162) 3 lat temu
overflw c07807bedf Fix #15706 (#15846) 4 lat temu
overload a7cae2bda2 fixes #16325 [backport:1.4] (#18784) 3 lat temu
package_level_objects c17f6c7837 new feature: package level objects 7 lat temu
parallel 6e8f0f8cfc add colon (#17834) 3 lat temu
parser 72d6a9c885 Fix #16426 (#18377) 3 lat temu
pragmas e0ef859130 strict effects (#18777) 3 lat temu
proc b7ad29e692 fix #18113 (#18124) 3 lat temu
procvar 749dbce4c6 Merge tests into a larger file (part 5 of ∞) (#9368) 6 lat temu
range 3b1aabdcff change `--hint[X] => --hint:X` in nim repo (avoids shell quoting issues) (#18085) 3 lat temu
rational 7d6cbf290a Error -> Defect for defects (#13908) 4 lat temu
realtimeGC 1e0165186b testament: remove deadcode related to realtimeGC, testC, callCCompiler (#18087) 3 lat temu
sandwich 2f213db7ee fixes #11225; generic sandwich problems; [backport:1.2] (#17255) 3 lat temu
sets 0dc534832e close #16123 std/sets with closures in cpp (#17921) 3 lat temu
showoff 9465b5db44 Clean up macros (#14959) 4 lat temu
specialops aac8f67573 tests and docs for call operator (#16980) 3 lat temu
statictypes b8f761b7e2 even lighter version of #17938: fix most issues with UnusedImport, XDeclaredButNotUsed, etc; fix #17511, #17510, #14246 (without realModule) (#18362) 3 lat temu
stdlib b3ad68edea remove channels (#18801) 3 lat temu
stmt 0869d2a477 fix #15972 (#15994) 4 lat temu
strictnotnil 672dc5cd87 Nil type check implementation (#15287) 4 lat temu
stylecheck 69710e4548 fix #17960: honor `matrix` also for `action: compile, action: reject` (#17980) 3 lat temu
system 394f4ac7bb improvements to `addInt` and `$` for integer types (#18592) 3 lat temu
template 24445d31b3 improve several tests in testament (#18635) 3 lat temu
testament 4e0f38fbb1 testament :show duration also for failed tests; improve `tshould_not_work`; mitigate #17946 tchannels timeouts (#17947) 3 lat temu
testdata abe5cb82a0 Fix for #5134 (parseJson(string) should fail on leftover data) (#5203) 8 lat temu
threads f048dad7c3 add testcase for #6499 #12229 #7172 (#18547) 3 lat temu
tools 3b1aabdcff change `--hint[X] => --hint:X` in nim repo (avoids shell quoting issues) (#18085) 3 lat temu
trmacros f2b041f168 Reenable a few tests 4 lat temu
tuples ed44618deb Fixed const tuples in inferred generics (#18598) 3 lat temu
typerel 78e2d299df typo: nonexistant => nonexistent (#17918) 3 lat temu
types 78e2d299df typo: nonexistant => nonexistent (#17918) 3 lat temu
untestable 5261579175 [nim-gdb] Fixed enums and flag output [ci skip] (#17634) 3 lat temu
usingstmt 9465b5db44 Clean up macros (#14959) 4 lat temu
valgrind 55a33e1664 testament: support disabled:osx as alias to disabled:macosx (#17124) 3 lat temu
varres 7bfb9f0002 close #17636 (#17643) 3 lat temu
varstmt 3b783f7e13 Testament: refactoring; makes the test joiner green 6 lat temu
views 2ea7287217 view types: spec changes (#18226) 3 lat temu
vm 5f7db65257 followup #18453 (#18582) 3 lat temu
whenstmt 2aba116bbc when statements branches exit early (#17143) 3 lat temu
ast_pattern_matching.nim 159c06e045 unify tuple expressions (#13793) 3 lat temu
config.nims 3aa16c1de0 fix RFC #341: dot-like operators are now parsed with same precedence as `.` (#18711) 3 lat temu
dummy.txt a68a4bfaf2 Remove install.txt and readme.txt (#9521) 6 lat temu
js.html 72a3e21f28 Removes executable bit for text files. 11 lat temu
js.nim e80465dacf tests: Trim .nim files trailing whitespace 9 lat temu
m14634.nim 6d442a40a6 use doAssert in tests (#16486) 4 lat temu
mmaptest.nim 39290cf88c Fix spellings (#12277) [backport] 5 lat temu
readme.md 1e0165186b testament: remove deadcode related to realtimeGC, testC, callCCompiler (#18087) 3 lat temu
rectest.nim e80465dacf tests: Trim .nim files trailing whitespace 9 lat temu
stckovfl.nim e80465dacf tests: Trim .nim files trailing whitespace 9 lat temu
test_nimscript.nims 7c8ea490a2 Fix initrand to avoid random number sequences overlapping (#18744) 3 lat temu

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.