Timothee Cour 6114df3c24 testament: error instead of silently overwrite a spec (#16166) | %!s(int64=4) %!d(string=hai) anos | |
---|---|---|
.. | ||
actiontable | %!s(int64=6) %!d(string=hai) anos | |
alias | %!s(int64=7) %!d(string=hai) anos | |
align | %!s(int64=5) %!d(string=hai) anos | |
ambsym | %!s(int64=6) %!d(string=hai) anos | |
arc | %!s(int64=4) %!d(string=hai) anos | |
arithm | %!s(int64=4) %!d(string=hai) anos | |
array | %!s(int64=4) %!d(string=hai) anos | |
assert | %!s(int64=4) %!d(string=hai) anos | |
assign | %!s(int64=5) %!d(string=hai) anos | |
astoverload | %!s(int64=11) %!d(string=hai) anos | |
astspec | %!s(int64=5) %!d(string=hai) anos | |
async | %!s(int64=4) %!d(string=hai) anos | |
bind | %!s(int64=4) %!d(string=hai) anos | |
borrow | %!s(int64=4) %!d(string=hai) anos | |
casestmt | %!s(int64=4) %!d(string=hai) anos | |
ccgbugs | %!s(int64=4) %!d(string=hai) anos | |
ccgbugs2 | %!s(int64=4) %!d(string=hai) anos | |
clearmsg | %!s(int64=6) %!d(string=hai) anos | |
closure | %!s(int64=4) %!d(string=hai) anos | |
cnstseq | %!s(int64=6) %!d(string=hai) anos | |
collections | %!s(int64=4) %!d(string=hai) anos | |
compilepragma | %!s(int64=5) %!d(string=hai) anos | |
compiler | %!s(int64=4) %!d(string=hai) anos | |
compilerapi | %!s(int64=4) %!d(string=hai) anos | |
compilerfeatures | %!s(int64=5) %!d(string=hai) anos | |
compiles | %!s(int64=5) %!d(string=hai) anos | |
concat | %!s(int64=11) %!d(string=hai) anos | |
concepts | %!s(int64=4) %!d(string=hai) anos | |
constr | %!s(int64=4) %!d(string=hai) anos | |
constraints | %!s(int64=6) %!d(string=hai) anos | |
constructors | %!s(int64=4) %!d(string=hai) anos | |
controlflow | %!s(int64=4) %!d(string=hai) anos | |
converter | %!s(int64=4) %!d(string=hai) anos | |
coroutines | %!s(int64=4) %!d(string=hai) anos | |
cpp | %!s(int64=4) %!d(string=hai) anos | |
defaultprocparam | %!s(int64=4) %!d(string=hai) anos | |
deprecated | %!s(int64=4) %!d(string=hai) anos | |
deps | %!s(int64=4) %!d(string=hai) anos | |
destructor | %!s(int64=4) %!d(string=hai) anos | |
dir with space | %!s(int64=5) %!d(string=hai) anos | |
discard | %!s(int64=4) %!d(string=hai) anos | |
distinct | %!s(int64=4) %!d(string=hai) anos | |
distros | %!s(int64=4) %!d(string=hai) anos | |
dll | %!s(int64=4) %!d(string=hai) anos | |
effects | %!s(int64=4) %!d(string=hai) anos | |
enum | %!s(int64=4) %!d(string=hai) anos | |
errmsgs | %!s(int64=4) %!d(string=hai) anos | |
exception | %!s(int64=4) %!d(string=hai) anos | |
exprs | %!s(int64=4) %!d(string=hai) anos | |
fields | %!s(int64=5) %!d(string=hai) anos | |
flags | %!s(int64=6) %!d(string=hai) anos | |
float | %!s(int64=4) %!d(string=hai) anos | |
fragmentation | %!s(int64=6) %!d(string=hai) anos | |
friends | %!s(int64=9) %!d(string=hai) anos | |
gc | %!s(int64=4) %!d(string=hai) anos | |
generics | %!s(int64=4) %!d(string=hai) anos | |
gensym | %!s(int64=5) %!d(string=hai) anos | |
global | %!s(int64=6) %!d(string=hai) anos | |
ic | %!s(int64=5) %!d(string=hai) anos | |
implicit | %!s(int64=6) %!d(string=hai) anos | |
import_in_config | %!s(int64=8) %!d(string=hai) anos | |
init | %!s(int64=4) %!d(string=hai) anos | |
isolate | %!s(int64=4) %!d(string=hai) anos | |
iter | %!s(int64=4) %!d(string=hai) anos | |
js | %!s(int64=4) %!d(string=hai) anos | |
lent | %!s(int64=4) %!d(string=hai) anos | |
let | %!s(int64=4) %!d(string=hai) anos | |
lexer | %!s(int64=6) %!d(string=hai) anos | |
lookups | %!s(int64=4) %!d(string=hai) anos | |
macros | %!s(int64=4) %!d(string=hai) anos | |
magics | %!s(int64=4) %!d(string=hai) anos | |
manyloc | %!s(int64=4) %!d(string=hai) anos | |
metatype | %!s(int64=4) %!d(string=hai) anos | |
method | %!s(int64=4) %!d(string=hai) anos | |
misc | %!s(int64=4) %!d(string=hai) anos | |
modules | %!s(int64=4) %!d(string=hai) anos | |
namedparams | %!s(int64=5) %!d(string=hai) anos | |
newconfig | %!s(int64=4) %!d(string=hai) anos | |
nimble | %!s(int64=4) %!d(string=hai) anos | |
nimdoc | %!s(int64=4) %!d(string=hai) anos | |
niminaction | %!s(int64=4) %!d(string=hai) anos | |
notnil | %!s(int64=4) %!d(string=hai) anos | |
objects | %!s(int64=4) %!d(string=hai) anos | |
objvariant | %!s(int64=5) %!d(string=hai) anos | |
openarray | %!s(int64=5) %!d(string=hai) anos | |
osproc | %!s(int64=4) %!d(string=hai) anos | |
overflw | %!s(int64=4) %!d(string=hai) anos | |
overload | %!s(int64=4) %!d(string=hai) anos | |
package_level_objects | %!s(int64=7) %!d(string=hai) anos | |
parallel | %!s(int64=4) %!d(string=hai) anos | |
parser | %!s(int64=4) %!d(string=hai) anos | |
pragmas | %!s(int64=4) %!d(string=hai) anos | |
proc | %!s(int64=5) %!d(string=hai) anos | |
procvar | %!s(int64=6) %!d(string=hai) anos | |
range | %!s(int64=4) %!d(string=hai) anos | |
rational | %!s(int64=4) %!d(string=hai) anos | |
realtimeGC | %!s(int64=6) %!d(string=hai) anos | |
sets | %!s(int64=4) %!d(string=hai) anos | |
showoff | %!s(int64=4) %!d(string=hai) anos | |
specialops | %!s(int64=4) %!d(string=hai) anos | |
statictypes | %!s(int64=4) %!d(string=hai) anos | |
stdlib | %!s(int64=4) %!d(string=hai) anos | |
stmt | %!s(int64=4) %!d(string=hai) anos | |
system | %!s(int64=4) %!d(string=hai) anos | |
template | %!s(int64=4) %!d(string=hai) anos | |
testament | %!s(int64=4) %!d(string=hai) anos | |
testdata | %!s(int64=8) %!d(string=hai) anos | |
threads | %!s(int64=4) %!d(string=hai) anos | |
tools | %!s(int64=4) %!d(string=hai) anos | |
trmacros | %!s(int64=4) %!d(string=hai) anos | |
tuples | %!s(int64=4) %!d(string=hai) anos | |
typerel | %!s(int64=4) %!d(string=hai) anos | |
types | %!s(int64=4) %!d(string=hai) anos | |
untestable | %!s(int64=4) %!d(string=hai) anos | |
usingstmt | %!s(int64=4) %!d(string=hai) anos | |
valgrind | %!s(int64=4) %!d(string=hai) anos | |
varres | %!s(int64=4) %!d(string=hai) anos | |
varstmt | %!s(int64=6) %!d(string=hai) anos | |
views | %!s(int64=4) %!d(string=hai) anos | |
vm | %!s(int64=4) %!d(string=hai) anos | |
ast_pattern_matching.nim | %!s(int64=5) %!d(string=hai) anos | |
config.nims | %!s(int64=4) %!d(string=hai) anos | |
dummy.txt | %!s(int64=6) %!d(string=hai) anos | |
js.html | %!s(int64=11) %!d(string=hai) anos | |
js.nim | %!s(int64=9) %!d(string=hai) anos | |
m14634.nim | %!s(int64=4) %!d(string=hai) anos | |
mmaptest.nim | %!s(int64=5) %!d(string=hai) anos | |
readme.md | %!s(int64=4) %!d(string=hai) anos | |
rectest.nim | %!s(int64=9) %!d(string=hai) anos | |
stckovfl.nim | %!s(int64=9) %!d(string=hai) anos | |
test_nimscript.nims | %!s(int64=4) %!d(string=hai) anos |
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
.
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
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
.
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"
"""
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.