summary refs log tree commit diff stats
path: root/testament/specs.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes broken doc links (#23255)ringabout2024-01-251-1/+1
| | | | | https://nim-lang.github.io/Nim/testament.html#writing-unit-tests https://nim-lang.github.io/Nim/testament.html#writing-unit-tests-output-message-variable-interpolation
* Markdown code blocks migration part 8 (#22478)Andrey Makarov2023-08-151-7/+6
|
* set module symbol type to None instead of nil for discard check (#21657)metagn2023-04-131-1/+4
| | | | | | | * set module symbol type to None instead of nil fixes #19225 * alright
* ship a modern nimble with lock files support (#21061)ringabout2022-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * change `include genode/env` to an import ref https://github.com/nim-lang/Nim/commit/0b262e9496387d5e8adc0c5f6020b3f3300e8f79#diff-8718bd20d8f61d6638d3d64b19efc31bcd40a6d5be8215b2a1f0b75ed93e8d56 * fixes comments * ship a modern nimble with lock files support * not sure whether the latest nimble has a regression now I'm trying 0.14.0 * change `pkgs` to `pkgs2` (#21073) * overwrite problematic packages * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review
* [Testament] Extend and document message testing aids (#19996)quantimnot2022-09-011-28/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [Testament] Extend and document message testing aids * Enable inline msgs when not reject action. Eliminates the pain of changing the line and column numbers in `nimout` or `output` while making changes to the test. * Enable using inline msgs and nimout together. Allows ease of inline msgs for the test as well as testing msgs from other modules. * Add path separator and test filename variable interpolation in msgs. Eases handling path separators in the msgs. * Add some documentation. * Fixed lots of broken tests * Fixed more broken tests * Support multiple inline messages per a line * Fix a broken test * Revert variable substitution in `output` * Remove uneeded params * Update doc/testament.md Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com> * Update testament/specs.nim Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com> * Update testament/specs.nim Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com> * Fix indentation Co-authored-by: quantimnot <quantimnot@users.noreply.github.com> Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
* Testament now checks OS, CPU, endianess, bitsizes 8-64 in discard statements ↵quantimnot2021-11-191-20/+50
| | | | | | | | | (#19137) * Testament checks host/cpu in compiler/platform for discard spec statement * Remove duplicated value checks, add comments, add all cpu bit sizes and endianesses Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
* Use testament to check Norm test pass (#19018)Constantine Molchanov2021-11-031-1/+1
| | | | | | | | | | | * Use testament to check Norm test pass This is what I actually use to test Norm, so it's better to use it. This should not currently pass. This is expected because this is exactly the problem I want to highlight with this PR. My tests do indeed not pass at the moment. * Remove clearNimblePath from testament command. Co-authored-by: flywind <xzsflywind@gmail.com>
* fix #16256: nimout: <empty> should give error (vacuously true); improve a ↵Timothee Cour2021-05-311-0/+5
| | | | | | | | | | | | | | | | | | | few tests (#18089) * fix #16256: nimout: <empty> should give error (vacuously true); improve some tests * renamed: tests/stdlib/t9710.nim -> tests/misc/t9710.nim * improve tests * fix non-DRY tests * improve $nim_prs_D/tests/stdlib/t9091.nim * renamed: tests/stdlib/t9091.nim -> tests/misc/t9091.nim * fixup * address comment: doAssert => result.parseErrors
* make testament `isSuccess` more robust and allow tests with `--hints:off` to ↵Timothee Cour2021-05-111-0/+1
| | | | | | | | | succeed (#17968) * fix testament isSuccess * show givenSpec in addResult * simplify tstatictypes.nim
* fix #17952: fix both false positives and false negatives for reInvalidSpec ↵Timothee Cour2021-05-081-10/+20
| | | | | | | | | (#17956) * fix #17952: fix both false positives and false negatives for reInvalidSpec * handle megatest properly * fix for tests/stdlib/tbase64.nim
* testament: add `nimoutFull: bool` spec (#17867)Timothee Cour2021-04-271-0/+3
| | | | | | | | | | * testament: add `nimoutFull: bool` spec * PRTEMP * works * cleanup * add test for #12741 * PRTEMP failing test * remove unrelated changes * changelog
* move travis, appveyor, ci.yml.disabled to `unmaintained/` (#17828)Timothee Cour2021-04-241-2/+2
| | | | | | | * move travis, appveyor, ci.yml.disabled to unmaintained * update some mentions of travis, appevyor * fix test
* unit separator (#17730)Andreas Rumpf2021-04-201-1/+1
| | | | | * use the ASCII Unit Separator so that error messages can be handled precisely by the tooling * updated testament
* testament: remove unused tfile,tline,tcolumn (#17515)Timothee Cour2021-03-261-8/+0
|
* use NIM_TESTAMENT_BATCH for important_packages, improve formatting, code ↵Timothee Cour2021-03-121-1/+1
| | | | | | | | cleanups (#17301) * use NIM_TESTAMENT_BATCH for important_packages, improve formatting, code cleanups * workaround for nimcrypto not having `--path:.`; remove workaround "two are special snowflakes" * add comment explaining why nimcrypto fails and what packages need to be testable
* remove tests/deps/ (#17132)Timothee Cour2021-02-231-1/+1
| | | | | | | | | * remove tests/deps/ * fix tests * fix tests/manyloc/keineschweine/lib/zlib_helpers.nim * fixup
* testament: support disabled:osx as alias to disabled:macosx (#17124)Timothee Cour2021-02-221-2/+2
|
* remove all uses of condsyms symbols defined prior to bootstrap nim 0.20.0 ↵Timothee Cour2021-02-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#16918) * nimNoArrayToCstringConversion deadcode * nimbabel deadcode * nimHasalignOf deadcode * nimvarargstyped deadcode * nimhygiene deadcode * nimNewTypedesc deadcode * nimlocks deadcode * nimHasCppDefine deadcode * nimHasRunnableExamples deadcode * nimHasNilChecks deadcode * nimSymKind deadcode * minor macros refactoring * nimVmEqIdent deadcode * nimNoNil deadcode * nimNoZeroTerminator deadcode * nimHasSymOwnerInMacro deadcode * nimVmExportFixed deadcode * nimNewRuntime deadcode * nimAshr deadcode * nimUncheckedArrayTyp deadcode * nimHasTypeof deadcode * nimErrorProcCanHaveBody deadcode * nimHasHotCodeReloading deadcode * nimHasSignatureHashInMacro deadcode * nimHasDefault deadcode * nimMacrosSizealignof deadcode
* Testament small fixes (#16788)Juan Carlos2021-01-221-19/+19
| | | | | | | | | * ReSync with Devel * ReSync * Fix Deprecations, Convertion to itself, code style, etc * Fix Deprecations, Convertion to itself, code style, etc
* remove deprecated specs (#16684)flywind2021-01-111-4/+0
|
* fix #16576: honor matrix in testament by making such tests non joinable (#16577)Timothee Cour2021-01-041-0/+1
| | | | | | | * refs #16576: honor matrix in testament by making such tests non joinable * add tests + misc fixes * fix test for i386 with -d:danger
* testament: error instead of silently ignore invalid targets; remove ↵Timothee Cour2020-12-141-14/+6
| | | | | | | | | | | pointless alias target vs targets; document matrix; DRY (#16343) * testament: error instead of silently ignore invalid targets * s/target/targets/ * fix test; refs #16344 * address comments * Update testament/specs.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* testament spec: remove errmsg alias of errormsg (#16188)Timothee Cour2020-11-291-1/+1
|
* testament: error instead of silently overwrite a spec (#16166)Timothee Cour2020-11-291-5/+13
|
* fix #14242 `testament r tests/js/foo` now works; testament now honors ↵Timothee Cour2020-11-281-4/+4
| | | | | | | --targets (#16163) * fix #14242 `testament r tests/js/foo` now works; testament now honors --targets * fix shouldfail
* make megatest consistent with unjoined tests wrt newlines, honor newlines in ↵Timothee Cour2020-11-281-1/+1
| | | | | | | output spec (#16151) * fix megatest newlines * still allow missing trailing newline for now but in a more strict way than before
* fix #15631 (#15632)n5m2020-10-191-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * trigger valgrind failure on memory leak * remove non-malloc tests * remove ORC test is redundant because we already have an ARC test * only run valgrind tests on 64-bit Linux * disable freebsd and openbsd * Remove tleak_refc As to not test implementation details (or bug) * Fix test failures by removing redundant test Since this tests/shoulfail/tvalgrind.nim was specified here to fail this test itself fails since it will be skipped on non-linux CI * Remove test, reason detailed in the previous commit * Remove redundant disables * Revert removing disables * Add and use valgrind: leaks * Fix Co-authored-by: Clyybber <darkmine956@gmail.com> Co-authored-by: n5m
* testament improvement: allow inline error messages inside test cases (#15294)Andreas Rumpf2020-09-101-9/+86
| | | | * testament support for inline error messages * adapt teffects1.nim test to show the potential
* CI openbsd: 3x batching via NIM_TESTAMENT_BATCH ; overall CI finishes in 21m ↵Timothee Cour2020-06-301-0/+3
| | | | | | | | | instead of 34m (#14851) * CI openbsd: 2x batching via NIM_TESTAMENT_BATCH * auto-generate .builds/openbsd_x.yml to avoid code duplication * 3x batching
* testament: generic N-fold batching: windows CI 37mn=>16m (#14823)Timothee Cour2020-06-271-0/+23
| | | | | | | | | * testament: run CI faster thanks to batching * move ta_in, tstdin into existing tosproc * move ta_out,tafalse,texitcode,tstderr into existing tosproc * joinable osproc * move tstdout into existing tosproc * spec: batchable; fix tests * fixup
* `addQuitProc` now works with closures, and c, js(node/browser) backend; fix ↵Timothee Cour2020-06-161-0/+7
| | | | | | | | | | | | | | | some bugs in testament (#14342) * make addQuitProc great again * fix bugs in testament * fix test * change 2016 => 2020 * addQuitProc => addExitProc + locks * move to std/exitprocs
* fixes #14112, tests for #12892, #12671, #11697 (#14125)hlaaftana2020-04-261-0/+2
|
* Fix #14091 and #14093 - test failures on NetBSD (#14096)Euan2020-04-241-0/+2
|
* #12103 - CI for OpenBSD (#12105)Euan2020-04-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Working on OpenBSD CI * Condense steps into 2 steps to make output easier to follow. * Move up one directory after csources build. * Remove FreeBSD build manifest and add OpenBSD test ignores for coroutines and hot code reloading. * If runCI fails, run the test results script. * Add email trigger for build failure * Remove .git from repository URL * Disable SFML test on OpenBSD * Disable tgetaddrinfo on OpenBSD as only UDP and TCP protocols are supported. * Remove getFilePermissions as it causes CI test failures with NimScript. * Set clang as cc in nim.cfg and use gmake to build csources. * Add getCurrentDir to nimscript. * Remove duplicate getCurrentDir and check for not weirdTarget. * Add CI badge for OpenBSD. * Disable tests which allocate lots of memory for OpenBSD. * Use `CORO_BACKEND_SETJMP` on OpenBSD rather than ucontext. * Simplify building of koch * Disable t8657 on OpenBSD. See issue #13760. * Fix #12142 - tarray_of_channels fails on OpenBSD * Disable thhtpclient_ssl and tosprocterminate on OpenBSD. These tests can be enabled at a later date after fixing them. * Install libffi. * Set path to libc for openbsd. * Disable tevalffi for now. * Remove tevalffi.nim. * Use ncpuonline sysctl rather than ncpu. * Disable tacceptcloserace and tasynchttpserver on OpenBSD. * Enable tacceptcloserace and tasynchttpserver. * Fix #13775 as suggested by @alaviss - use /bin/cat on OpenBSD rather than /bin/sh. * Enable test on OpenBSD. * Disable tflowvar on OpenBSD.
* testament: introduce 'matrix' for testing multiple options (#13343)Miran2020-02-071-0/+4
|
* fix tsizeof3 for aarch64 (#13169)Jasper Jenkins2020-01-161-0/+2
|
* ARC: cycle detector (#12823)Andreas Rumpf2019-12-171-1/+4
| | | | | | | | | | | | | * first implementation of the =trace and =dispose hooks for the cycle collector * a cycle collector for ARC: progress * manual: the .acyclic pragma is a thing once again * gcbench: adaptations for --gc:arc * enable valgrind tests for the strutils tests * testament: better valgrind support * ARC refactoring: growable jumpstacks * ARC cycle detector: non-recursive algorithm * moved and renamed core/ files back to system/ * refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
* #12103 - CI for FreeBSD (#12179)Euan2019-11-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * Ref #12103 - adds FreeBSD CI * Fix getApplFreebsd - length of the string includes the null terminator byte, so minus 1 for result length * Show last commit in setup task. * Remove .git from repository URL * Don't include noisy details showing last commit. * Add FreeBSD build status badge * Fix #12182 - disable tconsole on FreeBSD * Disable tgetaddrinfo on FreebSD as getaddrinfo doesn't support the ICMP protocol. * Install boehm-gc-threaded * Use libgc-threaded.so on FreeBSD rather than libgc.so. * Simplify build failure handling. Update alt text for CI badge. * Disable test on FreeBSD * Simplify build config - use GNU make to build csources - set PATH variable using the environment key - remove modification of config to set CC as this is already set * Install git which seems to be missing from current freebsd images * Revert change to how path is set * Add a comment explaining why the length is truncated * Fix tconsole.
* attempt to add valgrind support to the CIs and testament (#12646)Andreas Rumpf2019-11-181-0/+9
| | | | | | * attempt to add valgrind support to the CIs and testament * valgrind (currently) works only on 64-bit Linux
* testament: add azure integrationLeorize2019-10-031-0/+3
|
* added a testcase for #12195; testament now supports a 'timeout' spec fieldAraq2019-09-171-0/+8
|
* Incremental compilation (IC): Improvements (#11881)Andreas Rumpf2019-08-081-1/+4
| | | | | | | | | | | | | | | | | | | * IC: C codegen is aware of IC * manual: minor change to make VSCode's RST plugin render it properly * IC: minor refactoring * testament: code refactorings * rodutils: removed dead code * IC: always build the compiler with the IC feature * IC: C codegen improvements * IC: implement the undocumented -d:nimMustCache option for testing purposes * IC: added first basic tests * IC: extensive testing of the deserialization feature * testament: refactoring; better IC tests * IC: removes 'nimMustCache' flag; readonly does the same * testament: minor refactoring * update Nimble version * testament: removed dead code and imports; IC: added simple test * IC: progress
* fixes #10299 (#11324)Andreas Rumpf2019-05-251-1/+1
|
* testament: apply skip to hard-coded categories (#11168)Jacek Sieka2019-05-081-1/+6
| | | | | | * testament: apply skip to hard-coded categories * allow disabling megatest
* 32 bit fixes (#10608)Arne Döring2019-02-131-0/+3
|
* koch and testament improvement; make testing command easier to get rightAndreas Rumpf2019-02-131-1/+1
|
* testament: use bin/nim.exe as the defaultAraq2019-02-071-1/+1
|
* testament: test nimble packages is beginning to workAraq2019-02-041-1/+1
|
* fix #10049 (#10083)Timothee Cour2018-12-231-1/+1
|
* testament: joinable is now an explicit concept of a test specAndreas Rumpf2018-12-111-12/+14
|