Timothee Cour 6114df3c24 testament: error instead of silently overwrite a spec (#16166) %!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 b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!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 b3c3557c33 fix #16025 repr now consistent: does not insert trailing newline (#16034) %!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 b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!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 6114df3c24 testament: error instead of silently overwrite a spec (#16166) %!s(int64=4) %!d(string=hai) anos
ccgbugs b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!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 eb429988cd fixes #15594 (#15819) %!s(int64=4) %!d(string=hai) anos
cnstseq 1105d03644 require errormsg to be specified before file. %!s(int64=6) %!d(string=hai) anos
collections f1764aaa9e sets minor improvement (#16087) %!s(int64=4) %!d(string=hai) anos
compilepragma 7e9cda7dba fixes #10299 (#11324) %!s(int64=5) %!d(string=hai) anos
compiler 57bd64582c move tests under the compiler directory to testament (#16096) %!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 b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!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 1655c04aa3 add testcase for #9165 (#15787) %!s(int64=4) %!d(string=hai) anos
coroutines e35b21e553 Close#5586 (#14682) %!s(int64=4) %!d(string=hai) anos
cpp e4d0f9f3de typeinfo minor improvement (#16083) %!s(int64=4) %!d(string=hai) anos
defaultprocparam 7c359a062c Add testcase for #12252 (#15676) %!s(int64=4) %!d(string=hai) anos
deprecated 40b58a0a18 fix #11009 (#14935) %!s(int64=4) %!d(string=hai) anos
deps bbe49a14ae Correct all eggs (#15906) %!s(int64=4) %!d(string=hai) anos
destructor b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
dir with space fa058773db fixes #10042 (allow spaces in import) (#10504) %!s(int64=5) %!d(string=hai) anos
discard 7f1d2489ad improve the 'has to be discarded' error message %!s(int64=4) %!d(string=hai) anos
distinct 3c85aa9e53 Make `{.requiresInit.}` to work for distinct types (#15869) %!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 218ff27b70 fix #15851 (#15852) %!s(int64=4) %!d(string=hai) anos
enum 27eb19cc48 fix #15145 (#15816) %!s(int64=4) %!d(string=hai) anos
errmsgs 122f22d163 asynchttpserver cleanups [backport:1.0] (#15966) %!s(int64=4) %!d(string=hai) anos
exception 6114df3c24 testament: error instead of silently overwrite a spec (#16166) %!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 96930b9cae targets: use cpp instead of c++ everywhere (was by far the most common) (#15961) %!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 6114df3c24 testament: error instead of silently overwrite a spec (#16166) %!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 7d51ad96e9 close #2771(add testcase for #2771) (#15932) %!s(int64=4) %!d(string=hai) anos
js b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
lent 5e8ac485a2 followup #15970 strenghten regression tests (#16075) %!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 b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
macros b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
magics b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!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 b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
method 7d6cbf290a Error -> Defect for defects (#13908) %!s(int64=4) %!d(string=hai) anos
misc b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!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 402df0b061 fix #15916 (#15917) [backport] %!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 b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!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 96930b9cae targets: use cpp instead of c++ everywhere (was by far the most common) (#15961) %!s(int64=4) %!d(string=hai) anos
overflw c07807bedf Fix #15706 (#15846) %!s(int64=4) %!d(string=hai) anos
overload b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
package_level_objects c17f6c7837 new feature: package level objects %!s(int64=7) %!d(string=hai) anos
parallel 86d7726fb8 workaround #15725 disable freebsd tblocking_channel.nim (#15726) %!s(int64=4) %!d(string=hai) anos
parser 60ad95f799 Add testcase for invalid if statement (#15313) %!s(int64=4) %!d(string=hai) anos
pragmas 673c5990c6 fix #12558 (#15864) %!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
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 b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
statictypes b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
stdlib d29eddf92a experimental/diff: move isMainModule block to tests/stdlib/tdiff.nim (#16172) %!s(int64=4) %!d(string=hai) anos
stmt 0869d2a477 fix #15972 (#15994) %!s(int64=4) %!d(string=hai) anos
system b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
template b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) %!s(int64=4) %!d(string=hai) anos
testament 1d786c0a54 fix #14242 `testament r tests/js/foo` now works; testament now honors --targets (#16163) %!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 a81434a890 Fix 14127 js from int to int casting (#15918) %!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 436e1fa5b1 fix #15631 (#15632) %!s(int64=4) %!d(string=hai) anos
varres 47ce24f680 fix #12303 (#15964) %!s(int64=4) %!d(string=hai) anos
varstmt 3b783f7e13 Testament: refactoring; makes the test joiner green %!s(int64=6) %!d(string=hai) anos
views cf01945f54 ensure the Nim compiler works with --experimental:strictFuncs --experimental:views [backport:1.4] (#15737) %!s(int64=4) %!d(string=hai) anos
vm d306a04466 fixes #16069; [backport:1.2] [backport:1.4] (#16115) %!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 bbe49a14ae Correct all eggs (#15906) %!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=11) %!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 e5db5316c2 doAssertRaises improvements; nimscript supports `except Exception as e` (#15765) %!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.