Timothee Cour 6114df3c24 testament: error instead of silently overwrite a spec (#16166) 4 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 abea80376a fixes #13122 (#13126) 5 lat temu
ambsym 1105d03644 require errormsg to be specified before file. 6 lat temu
arc b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
arithm 2f557652d4 fix operators containing percent for VM usage (#13536) 4 lat temu
array b3c3557c33 fix #16025 repr now consistent: does not insert trailing newline (#16034) 4 lat temu
assert da29222f86 init checks and 'out' parameters (#14521) 4 lat temu
assign bf2e052e6d fix rtti sizeof for varargs in global scope (#13125) [backport] 5 lat temu
astoverload 20b5f31c03 new tester; all tests categorized 11 lat temu
astspec 39290cf88c Fix spellings (#12277) [backport] 5 lat temu
async b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
bind 45d1e55e72 Add testcases for #11811 and #14315 (#14726) 4 lat temu
borrow 4cb41f53f0 Add testcase for #14440 (#14771) 4 lat temu
casestmt 6114df3c24 testament: error instead of silently overwrite a spec (#16166) 4 lat temu
ccgbugs b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
ccgbugs2 e7f280bd26 Remove deprecated stuff from stdlib (#14699) 4 lat temu
clearmsg 1105d03644 require errormsg to be specified before file. 6 lat temu
closure eb429988cd fixes #15594 (#15819) 4 lat temu
cnstseq 1105d03644 require errormsg to be specified before file. 6 lat temu
collections f1764aaa9e sets minor improvement (#16087) 4 lat temu
compilepragma 7e9cda7dba fixes #10299 (#11324) 5 lat temu
compiler 57bd64582c move tests under the compiler directory to testament (#16096) 4 lat temu
compilerapi 098a8a7c52 nimeval errorHook support (#15255) 4 lat temu
compilerfeatures 9ecb1aae80 new compiler feature: --expandMacro 5 lat temu
compiles 2acf74d458 delete list comprehension (#12392) 5 lat temu
concat 20b5f31c03 new tester; all tests categorized 11 lat temu
concepts b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
constr 00528cbc3c Add testcase for #10465 (#14943) 4 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 1655c04aa3 add testcase for #9165 (#15787) 4 lat temu
coroutines e35b21e553 Close#5586 (#14682) 4 lat temu
cpp e4d0f9f3de typeinfo minor improvement (#16083) 4 lat temu
defaultprocparam 7c359a062c Add testcase for #12252 (#15676) 4 lat temu
deprecated 40b58a0a18 fix #11009 (#14935) 4 lat temu
deps bbe49a14ae Correct all eggs (#15906) 4 lat temu
destructor b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 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 3c85aa9e53 Make `{.requiresInit.}` to work for distinct types (#15869) 4 lat temu
distros e63fc95bd4 fix tdistros test which was failing on Nightlies 4 lat temu
dll f785174c60 Ref #14094 - disable hot code reloading tests on NetBSD (#15458) 4 lat temu
effects 218ff27b70 fix #15851 (#15852) 4 lat temu
enum 27eb19cc48 fix #15145 (#15816) 4 lat temu
errmsgs 122f22d163 asynchttpserver cleanups [backport:1.0] (#15966) 4 lat temu
exception 6114df3c24 testament: error instead of silently overwrite a spec (#16166) 4 lat temu
exprs ff1c0bae4c update tests that tested for the 'discard' error messages 4 lat temu
fields 795044ed2b make tests green again 5 lat temu
flags 1105d03644 require errormsg to be specified before file. 6 lat temu
float 96930b9cae targets: use cpp instead of c++ everywhere (was by far the most common) (#15961) 4 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 e9df8ebcfd gc_regions: cleanup & fixes for deallocation (#11920) 4 lat temu
generics 6114df3c24 testament: error instead of silently overwrite a spec (#16166) 4 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 c8cffaf420 Incremental compilation (IC): Improvements (#11881) 5 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
init da29222f86 init checks and 'out' parameters (#14521) 4 lat temu
isolate 71dd5f85b9 'isolate' builtin; refs https://github.com/nim-lang/RFCs/issues/244 (#15011) 4 lat temu
iter 7d51ad96e9 close #2771(add testcase for #2771) (#15932) 4 lat temu
js b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
lent 5e8ac485a2 followup #15970 strenghten regression tests (#16075) 4 lat temu
let 9acbf99efb Allow let to not have value when using importc (#14258) 4 lat temu
lexer 34815a4697 megatest: make it green on Linux 6 lat temu
lookups b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
macros b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
magics b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
manyloc 3de5296337 remove a condition that table size must be passed as power of 2 (#14926) 4 lat temu
metatype b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
method 7d6cbf290a Error -> Defect for defects (#13908) 4 lat temu
misc b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
modules e2b1491905 Fix #11352 strutil.insertSep() fails on negative numbers (#15087) 4 lat temu
namedparams 6c487a6309 fixes #12196 5 lat temu
newconfig 695154970d deprecate existsDir; use dirExists instead (#14884) 4 lat temu
nimble acadda8da2 tnimblepathdollarfail.nim -> tests/nimble/tnimblepathdollar_fault to reduce false positives when searching for `fail` in CI logs (#14450) 4 lat temu
nimdoc 402df0b061 fix #15916 (#15917) [backport] 4 lat temu
niminaction e7f280bd26 Remove deprecated stuff from stdlib (#14699) 4 lat temu
notnil eca8f1d79f Add tests for #8481, #6490 and #4061 (#14083) 4 lat temu
objects b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
objvariant 3c38edf563 Better case coverage error message for alias and range enum (#12913) 5 lat temu
openarray 1551fff853 clean up deprecated stuff and unused imports in tests (#13059) 5 lat temu
osproc 96930b9cae targets: use cpp instead of c++ everywhere (was by far the most common) (#15961) 4 lat temu
overflw c07807bedf Fix #15706 (#15846) 4 lat temu
overload b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
package_level_objects c17f6c7837 new feature: package level objects 7 lat temu
parallel 86d7726fb8 workaround #15725 disable freebsd tblocking_channel.nim (#15726) 4 lat temu
parser 60ad95f799 Add testcase for invalid if statement (#15313) 4 lat temu
pragmas 673c5990c6 fix #12558 (#15864) 4 lat temu
proc e8f4586c68 allow typed/untyped in magic procs (#12911) 5 lat temu
procvar 749dbce4c6 Merge tests into a larger file (part 5 of ∞) (#9368) 6 lat temu
range 7d6cbf290a Error -> Defect for defects (#13908) 4 lat temu
rational 7d6cbf290a Error -> Defect for defects (#13908) 4 lat temu
realtimeGC b26378a468 WIP, most tests are now skipped 6 lat temu
sets 42dad3a836 tables/sharedtables/intsets/etc: fix #13496, #13504, #13505; add lots of tests (#13498) [backport] 4 lat temu
showoff 9465b5db44 Clean up macros (#14959) 4 lat temu
specialops b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
statictypes b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
stdlib d29eddf92a experimental/diff: move isMainModule block to tests/stdlib/tdiff.nim (#16172) 4 lat temu
stmt 0869d2a477 fix #15972 (#15994) 4 lat temu
system b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
template b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) 4 lat temu
testament 1d786c0a54 fix #14242 `testament r tests/js/foo` now works; testament now honors --targets (#16163) 4 lat temu
testdata abe5cb82a0 Fix for #5134 (parseJson(string) should fail on leftover data) (#5203) 8 lat temu
threads 8088633250 faster CIs (#13803) 4 lat temu
tools 3f29911a94 new feature: --staticBoundChecks:on to enforce static array index checking (#10965) 4 lat temu
trmacros f2b041f168 Reenable a few tests 4 lat temu
tuples 5bd2da3f64 Fix #14911 (#14922) [backport] 4 lat temu
typerel f2b041f168 Reenable a few tests 4 lat temu
types a81434a890 Fix 14127 js from int to int casting (#15918) 4 lat temu
untestable 8e54bc5b0c Deprecate and/or remove ospaths (#14767) 4 lat temu
usingstmt 9465b5db44 Clean up macros (#14959) 4 lat temu
valgrind 436e1fa5b1 fix #15631 (#15632) 4 lat temu
varres 47ce24f680 fix #12303 (#15964) 4 lat temu
varstmt 3b783f7e13 Testament: refactoring; makes the test joiner green 6 lat temu
views cf01945f54 ensure the Nim compiler works with --experimental:strictFuncs --experimental:views [backport:1.4] (#15737) 4 lat temu
vm d306a04466 fixes #16069; [backport:1.2] [backport:1.4] (#16115) 4 lat temu
ast_pattern_matching.nim 389b140029 add tastspec (and ast_pattern_matching) (#10863) 5 lat temu
config.nims bbe49a14ae Correct all eggs (#15906) 4 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 d149823019 fix #13166 tioselectors flaky test on freebsd+OSX (#14634) 4 lat temu
mmaptest.nim 39290cf88c Fix spellings (#12277) [backport] 5 lat temu
readme.md 54a52e7d08 Update link to parseSpec proc 4 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 e5db5316c2 doAssertRaises improvements; nimscript supports `except Exception as e` (#15765) 4 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. It includes a C client and platform specific build files for manual compilation.