summary refs log tree commit diff stats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* fix https://github.com/timotheecour/Nim/issues/152: avoid writing spurious ↵Timothee Cour2020-05-041-6/+2
| | | | | | | | | `^[[0m` to stderr when callStyledWriteLineStderr not called (#14214) * fix https://github.com/timotheecour/Nim/issues/152 `^[[0m` is inserted in stderr for `echo code | nim c -` * resetAttributes not even needed, already handled in styledWriteLine * simplify tests in tests/trunner.nim thanks to this fix
* `echo cmd | nim r - -arg1 -arg2` now works (#14210)Timothee Cour2020-05-041-1/+31
|
* destructors: don't produce stupid code for 'cast' (#14208) [backport:1.2]Andreas Rumpf2020-05-041-0/+14
| | | | | * destructors: don't produce stupid code for 'cast' * fixes #14207
* => supports pragmas & names (+ changed behavior) (#14200)hlaaftana2020-05-031-16/+15
| | | | | | | | | | * => supports pragmas & names (+ changed behavior) (x, y: int) is now parsed as (x: int, y: int) instead of (x: auto, y: int) inside => and ->. * fix pragma check * fixes, use since & LHS of -> supports pragmas
* fixes #14136 (#14198)Andreas Rumpf2020-05-031-0/+44
|
* move since from inclrtl to std/private/since (#14188)hlaaftana2020-05-021-6/+6
| | | | * move since from inclrtl to std/private/since * move since import in system below for HCR
* update tests that tested for the 'discard' error messagesAraq2020-05-025-12/+12
|
* improve the 'has to be discarded' error messageAraq2020-05-024-4/+4
|
* fixes #14159 [backport:1.2]Araq2020-05-021-0/+33
|
* don't close #14142Araq2020-05-021-1/+1
|
* closes #14142Araq2020-05-021-2/+9
|
* exp. features now in correct manual, closes #11932 (#14195)hlaaftana2020-05-021-0/+14
|
* discardable async procs are now an error (#14176)hlaaftana2020-05-012-1/+10
| | | | * add discard warning in manual
* fix sendTo and recvFrom in asyncnet (#14154)rockcavera2020-04-301-17/+8
| | | | | | | | | | | | | * added high level sendTo and recvFrom to std/asyncnet; tests were also added. * add .since annotation, a changelog entry and fixed to standard library style guide. * Improved asserts msgs and added notes for use with UDP sockets * pointers removed in parameters and fixes * added .since annotation * minor fixes
* hotfix: make tcompilerapi green againAraq2020-04-301-2/+3
|
* fixes #13698 [backport:1.2] (#14175)Andreas Rumpf2020-04-301-0/+5
|
* JS unittest stacktrace fix, cleanup js repr and inclrtl includes (#14168)hlaaftana2020-04-301-0/+22
|
* fixes #14054 [backport:1.2] (#14061)Andreas Rumpf2020-04-302-1/+32
| | | | | | | | | * fixes #14054 * make tests green again * more tests are green * maybe now
* Fix #14160 (#14161)Clyybber2020-04-301-0/+15
| | | | | * Fix #14160 * Add testcase
* fixes #14079 [backport:1.2] (#14163)Andreas Rumpf2020-04-292-2/+30
|
* many bugfixes for js (#14158)hlaaftana2020-04-297-12/+134
| | | | | | | | | | | | | * many bugfixes for js fixes #12672, fixes #14153, closes #14123, closes #11331, fixes #11783, fixes #13966, fixes #14087, fixes #14117, closes #12256. mostly fixes the fact that it was allowed to assign to newly created temp variables. additionally attempts to get rid of null initialized seqs/strings (though they might pop up here and there); this simplifies a lot of things and makes code size smaller. even if null seqs/strings pop up here and there it's still better than all those bugs existing. * formatting fixes * CI fixes * more CI fixes
* Fix negative indexed arrays for JS, refs #13966 (#14152)hlaaftana2020-04-291-0/+6
| | | | | * Fix negative arrays for JS, refs #13966 * small extra fix: no need to .slice() cstring in JS
* parseEnum_regression (#14150)cooldome2020-04-281-2/+2
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* Error -> Defect for defects (#13908)Jacek Sieka2020-04-2845-105/+105
| | | | | | | | | | | | | | * Error -> Defect for defects The distinction between Error and Defect is subjective, context-dependent and somewhat arbitrary, so when looking at an exception, it's hard to guess what it is - this happens often when looking at a `raises` list _without_ opening the corresponding definition and digging through layers of inheritance. With the help of a little consistency in naming, it's at least possible to start disentangling the two error types and the standard lib can set a good example here.
* StringStream & more stdlib modules support for JS/NimScript (#14095)hlaaftana2020-04-289-61/+408
| | | | | * StringStream & more stdlib modules support for JS/NimScript * change back pegs test in line with #14134
* fix tdistros test which was failing on Nightliesnarimiran2020-04-281-3/+3
|
* fixes a critical =trace generation bug (see test case) (#14140)Andreas Rumpf2020-04-271-0/+16
|
* `$` now works for unsigned intergers with `nim js` (#14122)Timothee Cour2020-04-271-0/+72
| | | | * $(unsigned) now works for js * move NimMajor+friends closer to NimVersion according as per reviewer feedback
* `$(a: float)` now works consistently in nim js, avoiding printing floats as ↵Timothee Cour2020-04-272-5/+68
| | | | | | | | | ints (#14134) * fix https://github.com/timotheecour/Nim/issues/133; $(a: float) works in nim js like in other backends * fix tests * fix test for windows that prints 1.1e17 differently than other OS
* Remove some deprecated procs from std/times (#14129)Oscar Nihlgård2020-04-271-1/+1
|
* new implementations for --gc:orc (#14121)Andreas Rumpf2020-04-277-2/+10
| | | | | | | | | * cycle collector: new implementation * cycle collector: make self-adaptive based on its previous effectiveness * cycle collector: added Lins's jump stack to improve traversal from 3*N to 2*N * cycle collector: make tests green * API extensions and bugfixes * code cleanup and use --gc:orc for tasyncawait
* since now takes an optional patch, eg: `since: (1, 3, 1)` (#14124)Timothee Cour2020-04-261-0/+32
| | | add tests for tinclrtl
* added high level sendTo and recvFrom to std/asyncnet (UDP functionality) ↵rockcavera2020-04-261-0/+99
| | | | | | | | | (#14109) * added high level sendTo and recvFrom to std/asyncnet; tests were also added. * add .since annotation, a changelog entry and fixed to standard library style guide. * Improved asserts msgs and added notes for use with UDP sockets
* fixes #14112, tests for #12892, #12671, #11697 (#14125)hlaaftana2020-04-264-0/+23
|
* Make await a template (#12085)Alexander Ivanov2020-04-254-2/+39
| | | | | * Make await a template * Generate await inside async/multisync
* HCR: properly handling complex const objects in the codegen - fixes #13915 ↵Viktor Kirilov2020-04-253-0/+4
| | | | (#14115)
* implement (#14114)cooldome2020-04-251-0/+6
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* Fix #14088 and #14089 on NetBSD (#14104)Euan2020-04-242-1/+2
| | | | | * Set path to libSDL for NetBSD. * Disable SFML test on NetBSD
* fix nim CI; fix local testament (#14102)Timothee Cour2020-04-242-3/+7
|
* Fix #14091 and #14093 - test failures on NetBSD (#14096)Euan2020-04-242-1/+2
|
* Add tests for #8481, #6490 and #4061 (#14083)Clyybber2020-04-233-0/+45
|
* CT sizeof(+friends) for {.importc, completeStruct.} types, enable ABI static ↵Timothee Cour2020-04-233-14/+161
| | | | | | | | | | | checks (#13926) * -d:checkabi obsolete (ABI check now enforced); add `addTypeHeader` helper * cleanups * import sizeof at CT for {.completeType.} * address comments; revert default enabling of -d:checkAbi for now * mimportc_size_check.nim => msizeof5.nim; merge mabi_check.nim into msizeof5.nim; refactor * all pragmas in errmsgs should be written: '.importc' (un-ambiguous and less verbose than {.importc.})
* Ref #14075 - enable two tests which seem to now be passing locally on ↵Euan2020-04-222-2/+0
| | | | FreeBSD. (#14076)
* cycle collector (#14071)Andreas Rumpf2020-04-221-0/+183
| | | | * figured out the wrong cycle trace proc problem * cycle collector/break refactorings and minor improvements
* base `parseEnum` on a case statement, fixes #14030 (#14046)Vindaar2020-04-221-0/+87
| | | | | | | | | | | | | | | | | | | | * base `parseEnum` on a case statement, fixes #14030 * apply simplifactions / clean up, remove `norm` node, use strVal * export `normalize` in json.nim * cmp using nimIdentNormalize, error at CT if ambiguous enum found `nimIdentNormalize` provided by @cooldome. We track all names of the branches we have created so far and error if a duplicate is found. Dummy change to make github react... * fix docstring of `nimIdentNormalize` * make `typ` arg `typedesc`, add lineinfo, call norm. only once
* Fix OS detection in a docker container (#13172)Arnaud Moura2020-04-221-0/+21
| | | | | | | * Support detection in docker container. * Get only ID information in os-release. * Add test to distros module. * Fix Linux OS detection in Windows. * Fix OS detection for FreeBSD and OpenBSD.
* fix #13222: make relativePath more robust and flexible (#13451)Timothee Cour2020-04-212-0/+17
| | | | | | | | | * * relativePath(foo) now works * relativePath(rel, abs) and relativePath(abs, rel) now work (fixes #13222) * relativePath, absolutePath, getCurrentDir now available in more targets (eg: vm, nodejs etc) * fix bug: isAbsolutePath now works with -d:js; add tests * workaround https://github.com/nim-lang/Nim/issues/13469 * remove `relativePath(path)` overload for now * add back changelog after rebase
* #12103 - CI for OpenBSD (#12105)Euan2020-04-2113-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* fix mapIt issues #12625 & #12639 (#14041)Judd2020-04-211-0/+3
| | | | | | | | | | | | * fix mapIt issues #12625 & #12639: 1. fallback to call `map` when the result of `op` is a closure; 2. use `items(s)` in the for loop. * fix test errors. * add comments and InType is moved. * fix ident.
* Make file descriptors from stdlib non-inheritable by default (#13201)alaviss2020-04-201-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * io: make file descriptors non-inheritable by default This prevents file descriptors/handles leakage to child processes that might cause issues like running out of file descriptors, or potential security issues like leaking a file descriptor to a restricted file. While this breaks backward compatibility, I'm rather certain that not many programs (if any) actually make use of this implementation detail. A new API `setInheritable` is provided for the few that actually want to use this functionality. * io: disable inheritance at file creation time for supported platforms Some platforms provide extension to fopen-family of functions to allow for disabling descriptor inheritance atomically during File creation. This guards against possible leaks when a child process is spawned before we managed to disable the file descriptor inheritance (ie. in a multi-threaded program). * net, nativesockets: make sockets non inheritable by default With this commit, sockets will no longer leak to child processes when you don't want it to. Should solves a lot of "address in use" that might occur when your server has just restarted. All APIs that create sockets in these modules now expose a `inheritable` flag that allow users to toggle inheritance for the resulting sockets. An implementation of `setInheritance()` is also provided for SocketHandle. While atomically disabling inheritance at creation time is supported on Windows, it's only implemented by native winsock2, which is too much for now. This support can be implemented in a future patch. * posix: add F_DUPFD_CLOEXEC This command duplicates file descriptor with close-on-exec flag set. Defined in POSIX.1-2008. * ioselectors_kqueue: don't leak file descriptors File descriptors internally used by ioselectors on BSD/OSX are now shielded from leakage. * posix: add O_CLOEXEC This flag allows file descriptors to be open() with close-on-exec flag set atomically. This flag is specified in POSIX.1-2008 * tfdleak: test for selectors leakage Also simplified the test by using handle-type agnostic APIs to test for validity. * ioselectors_epoll: mark all fd created close-on-exec File descriptors from ioselectors should no longer leaks on Linux. * tfdleak: don't check for selector leakage on Windows The getFd proc for ioselectors_select returns a hardcoded -1 * io: add NoInheritFlag at compile time * io: add support for ioctl-based close-on-exec This allows for the flag to be set/unset in one syscall. While the performance gains might be negliable, we have one less failure point to deal with. * tfdleak: add a test for setInheritable * stdlib: add nimInheritHandles to restore old behaviors * memfiles: make file handle not inheritable by default for posix * io: setInheritable now operates on OS file handle On Windows, the native handle is the only thing that's inheritable, thus we can assume that users of this function will already have the handle available to them. This also allows users to pass down file descriptors from memfiles on Windows with ease, should that be desired. With this, nativesockets.setInheritable can be made much simpler. * changelog: clarify * nativesockets: document setInheritable return value * posix_utils: atomically disable fd inheritance for mkstemp