Timothee Cour 82996aee3f misc fixes: remove `forceConst` (obsolete by static), add more runnableExamples to system (#17896) преди 3 години
..
actiontable 7f18d7cbc1 Merge tests into a larger file (part 1 of ∞) (#9318) преди 6 години
alias 000b8afd26 Remove expr/stmt (#5857) преди 7 години
align 7e1ae35195 testament: error instead of silently ignore invalid targets; remove pointless alias target vs targets; document matrix; DRY (#16343) преди 4 години
ambsym 1105d03644 require errormsg to be specified before file. преди 6 години
arc b03d6c9b2f Fix #17712 (#17873) преди 3 години
arithm 339ebe958d JS: fix div uint64 no truncation (#16899) преди 3 години
array 363467fc00 Fix array's high & low return type for empty arrays (#17705) преди 3 години
assert d4f7f1d8f3 Improve documentation for assertions (#16988) преди 3 години
assign d447c0fe3f use typeof instead type (#16962) преди 3 години
astoverload 20b5f31c03 new tester; all tests categorized преди 11 години
astspec 159c06e045 unify tuple expressions (#13793) преди 3 години
async b667e288e2 move travis, appveyor, ci.yml.disabled to `unmaintained/` (#17828) преди 3 години
avr 939df8cbda ensure the avr example keeps compiling (#17663) преди 3 години
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) преди 4 години
bind e40ff24c23 typeToString: type float => typedesc[float] (#17011) преди 3 години
borrow 4cb41f53f0 Add testcase for #14440 (#14771) преди 4 години
casestmt a65189a739 nnkArglist => nnkArgList + special case stylecheck:error (#17529) преди 3 години
ccgbugs 198b5e3a7a improve tsets.nim, twrong_setconstr.nim and avoid name clashes with compiler sets (#17876) преди 3 години
ccgbugs2 7e1ae35195 testament: error instead of silently ignore invalid targets; remove pointless alias target vs targets; document matrix; DRY (#16343) преди 4 години
clearmsg 1105d03644 require errormsg to be specified before file. преди 6 години
closure d447c0fe3f use typeof instead type (#16962) преди 3 години
cnstseq 1105d03644 require errormsg to be specified before file. преди 6 години
collections ad67bcf379 fix https://github.com/nim-lang/RFCs/issues/311 remove unary slice (#16714) преди 3 години
compilepragma 7e9cda7dba fixes #10299 (#11324) преди 5 години
compiler fe9a37f2a5 close #12684 add testcase (#17599) преди 3 години
compilerapi 73a8b950cb big steps torwards an efficient, simple IC implementation (#16543) преди 4 години
compilerfeatures 70a30317f7 fix #16693: testament spec nimout too lax (#16698) преди 3 години
compiles 2acf74d458 delete list comprehension (#12392) преди 5 години
concat 20b5f31c03 new tester; all tests categorized преди 11 години
concepts 7bfb9f0002 close #17636 (#17643) преди 3 години
constr 72b89eff82 semLambda removed, semProcAux reworked (#17379) преди 3 години
constraints 1105d03644 require errormsg to be specified before file. преди 6 години
constructors be95f8fdfa Turn some of the errors back into warnings преди 4 години
controlflow 299ddda5f6 Make unreachable code a warning instead of an error (#14816) преди 4 години
converter 72b89eff82 semLambda removed, semProcAux reworked (#17379) преди 3 години
coroutines dfe6797023 fix #15628 (#16387) преди 4 години
cpp 6c5872c169 `--nilseqs` is now a deprecated noop (#17211) преди 3 години
defaultprocparam 7c359a062c Add testcase for #12252 (#15676) преди 4 години
deprecated 40b58a0a18 fix #11009 (#14935) преди 4 години
destructor 68e522ecec Remove confusing <//> (#17830) преди 3 години
dir with space fa058773db fixes #10042 (allow spaces in import) (#10504) преди 6 години
discard 7f1d2489ad improve the 'has to be discarded' error message преди 4 години
distinct 8ee0eda841 fix #12282 distinct now does not create erroneous copy in VM (#17594) преди 3 години
distros e63fc95bd4 fix tdistros test which was failing on Nightlies преди 4 години
dll 6c1c8f51b3 IC: green tests (#17311) преди 3 години
effects 7bfb9f0002 close #17636 (#17643) преди 3 години
enum 840e13deb7 type with same name in different scope now works (#17710) преди 3 години
errmsgs 93c26041a5 fix #17859; rename tests so they run in CI; merge several tests with nim check (#17862) преди 3 години
exception 23d23ecb08 Make 'echo' raise IOErrors when appropriate (#16367) преди 4 години
exprs 70a30317f7 fix #16693: testament spec nimout too lax (#16698) преди 3 години
fields 6d442a40a6 use doAssert in tests (#16486) преди 4 години
flags 7e1ae35195 testament: error instead of silently ignore invalid targets; remove pointless alias target vs targets; document matrix; DRY (#16343) преди 4 години
float 357729639f fix #16469 vm float constants: do not conflate -0.0 and 0.0 (#16470) преди 4 години
fragmentation 381498b0db tests: disable flaky tests for now; closes #9421 преди 6 години
friends e80465dacf tests: Trim .nim files trailing whitespace преди 9 години
gc 7ad49950bd [os:standalone]fix #14011 (#17564) преди 3 години
generics 72b89eff82 semLambda removed, semProcAux reworked (#17379) преди 3 години
gensym 488f3ed085 fixes yet another gensym regression (#12145) преди 5 години
global 1105d03644 require errormsg to be specified before file. преди 6 години
ic 7b6ab5109f IC exposes typedesc implementation shenanigans (#17759) преди 3 години
implicit a5ecbf823f lots of small changes преди 6 години
import_in_config 154db46db8 fixes a regression that caused --import in a config file to break things преди 8 години
importalls 0a10af5a2c privateAccess now works with ref | ptr (#17760) преди 3 години
init 7bfb9f0002 close #17636 (#17643) преди 3 години
isolate 71dd5f85b9 'isolate' builtin; refs https://github.com/nim-lang/RFCs/issues/244 (#15011) преди 4 години
iter 13a2030014 follow up #17486 (#17492) преди 3 години
js a66637bda4 followup #16871 asyncjs.then: allow pipelining procs returning futures (#17189) преди 3 години
lent e406e28738 fix #16898 #17621 (#17628) преди 3 години
let 9acbf99efb Allow let to not have value when using importc (#14258) преди 4 години
lexer 159c06e045 unify tuple expressions (#13793) преди 3 години
lookups b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) преди 4 години
macros 17db15f9b1 fix #17836 (typed macro isNil for proc params) (#17841) преди 3 години
magics b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) преди 4 години
manyloc 0e3ea16554 use lowercase --define switches (#17283) преди 3 години
metatype e40ff24c23 typeToString: type float => typedesc[float] (#17011) преди 3 години
method 58b9191354 fix #16516 method dispatch for sink args (#16594) преди 4 години
misc 87229e272e fix #17853 (ascii message separator broke json nim dump) (#17887) преди 3 години
modules 979148e863 refactorings to prepare the compiler for IC (#15935) преди 4 години
namedparams 6c487a6309 fixes #12196 преди 5 години
navigator 3b80f0dc8e IC navigator: added support for include files (#17784) преди 3 години
newconfig 924ab3adea fix #17190 `nimscript` now accepts arbitrary file extensions for `nim e main.customext` (#17596) преди 3 години
nimble 31a8cf16bb testament spec: remove errmsg alias of errormsg (#16188) преди 4 години
nimdoc a807233aeb fix #17615(runnableExamples silently ignored if placed after some code) (#17619) преди 3 години
niminaction 0e3ea16554 use lowercase --define switches (#17283) преди 3 години
notnil c86fdfa1ee add testcase for #9466 (#17538) преди 3 години
objects c6dc9c0255 fixes #17437 - crash where error reporting > 1 (#17547) преди 3 години
objvariant 7bfb9f0002 close #17636 (#17643) преди 3 години
openarray 83fa0fc843 fix #12521(type alias for openArray) (#17593) преди 3 години
osproc 87229e272e fix #17853 (ascii message separator broke json nim dump) (#17887) преди 3 години
overflw c07807bedf Fix #15706 (#15846) преди 4 години
overload b809562c7c make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec (#16151) преди 4 години
package_level_objects c17f6c7837 new feature: package level objects преди 7 години
parallel 6e8f0f8cfc add colon (#17834) преди 3 години
parser 76f93877cd Small parser loop fix (#17904) преди 3 години
pragmas 7c64e49d45 getCustomPragmaVal priority/override fixes (#17725) преди 3 години
proc b1b767ed0d close #17157 add testcase (#17531) преди 3 години
procvar 749dbce4c6 Merge tests into a larger file (part 5 of ∞) (#9368) преди 6 години
range 8e124da75d fix range to unsigned conversion (#17754) преди 3 години
rational 7d6cbf290a Error -> Defect for defects (#13908) преди 4 години
realtimeGC 5c23ba7545 fixed article duplication typos (#16216) преди 4 години
sandwich 2f213db7ee fixes #11225; generic sandwich problems; [backport:1.2] (#17255) преди 3 години
sets 198b5e3a7a improve tsets.nim, twrong_setconstr.nim and avoid name clashes with compiler sets (#17876) преди 3 години
showoff 9465b5db44 Clean up macros (#14959) преди 4 години
specialops aac8f67573 tests and docs for call operator (#16980) преди 3 години
statictypes 6d7d1e60fe fix #14585, fix #17589: access to static param now works (#17590) преди 3 години
stdlib abb8a73134 Fix nim-lang/nimforum#285 - punctuation after URL (#17908) преди 3 години
stmt 0869d2a477 fix #15972 (#15994) преди 4 години
strictnotnil 672dc5cd87 Nil type check implementation (#15287) преди 4 години
system b667e288e2 move travis, appveyor, ci.yml.disabled to `unmaintained/` (#17828) преди 3 години
template 6f53579a8c close #9534 add testcase (#17607) преди 3 години
testament a236002e54 testament: add `nimoutFull: bool` spec (#17867) преди 3 години
testdata abe5cb82a0 Fix for #5134 (parseJson(string) should fail on leftover data) (#5203) преди 8 години
threads d1e093207a fix #17267 (#17273) преди 3 години
tools 61c1e35181 close #14806 (#17626) преди 3 години
trmacros f2b041f168 Reenable a few tests преди 4 години
tuples 9c52009de6 close #7012 add testcase (#17537) преди 3 години
typerel 2abc936d51 `typeof(voidStmt)` now works (#17807) преди 3 години
types ceadf54d76 iterable[T] (#17196) преди 3 години
untestable 5261579175 [nim-gdb] Fixed enums and flag output [ci skip] (#17634) преди 3 години
usingstmt 9465b5db44 Clean up macros (#14959) преди 4 години
valgrind 55a33e1664 testament: support disabled:osx as alias to disabled:macosx (#17124) преди 3 години
varres 7bfb9f0002 close #17636 (#17643) преди 3 години
varstmt 3b783f7e13 Testament: refactoring; makes the test joiner green преди 6 години
views 7bfb9f0002 close #17636 (#17643) преди 3 години
vm 82996aee3f misc fixes: remove `forceConst` (obsolete by static), add more runnableExamples to system (#17896) преди 3 години
whenstmt 2aba116bbc when statements branches exit early (#17143) преди 3 години
ast_pattern_matching.nim 159c06e045 unify tuple expressions (#13793) преди 3 години
config.nims a236002e54 testament: add `nimoutFull: bool` spec (#17867) преди 3 години
dummy.txt a68a4bfaf2 Remove install.txt and readme.txt (#9521) преди 6 години
js.html 72a3e21f28 Removes executable bit for text files. преди 12 години
js.nim e80465dacf tests: Trim .nim files trailing whitespace преди 9 години
m14634.nim 6d442a40a6 use doAssert in tests (#16486) преди 4 години
mmaptest.nim 39290cf88c Fix spellings (#12277) [backport] преди 5 години
readme.md 54a52e7d08 Update link to parseSpec proc преди 4 години
rectest.nim e80465dacf tests: Trim .nim files trailing whitespace преди 9 години
stckovfl.nim e80465dacf tests: Trim .nim files trailing whitespace преди 9 години
test_nimscript.nims fad8439b8d Make parseopt available on all backends (#17009) преди 3 години

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.