Dominik Picheta
b3469c43a6
Implemented 'await connect' fully. Fixed a buffering and 'reqReg' bug.
...
* reqReq did not reset lastReq to reqNil, this caused problems in the
new tasyncitermacro test. (await accept stopped accepting requests after
some arbitrary amount have been accepted).
* Rewritten and moved tasyncitermacro to tests/run/ so that the tester
actually tests whether it works at runtime.
* tasynciterraw is now a copy of tasyncitermacro after macro expansion.
It will be used as a control test, useful if the macro starts generating
incorrect code.
2013-08-03 14:19:17 +01:00
Dominik Picheta
e42f877664
Optimised `await` on custom async procs.
...
* The async proc is now invoked immediately after the 'await' request
is processed. This means that the iterator is executed until it yields
with a request which cannot be immediately satisfied (e.g. readLine)
after which point a
select() call will need to be made. Previously the async proc would only
be added to the list of requests, the event loop would need to start
over and thus would need to go
through each request again before invoking the iterator and reaching a
request which could not be immediately satisfied.
* This was implemented by recursively calling the processWorker
procedure in asyncio.nim. In the future it may be of benefit to also
perform this for reqReg.
* When the awaited user-defined async proc finishes, the parent worker
will be executed, the same optimisation has been used for that case.
* The way that this optimisation is implemented means that even multiple
levels of awaited user-defined procs will be quickly processed. (Look at
the tasyncitermacro test, the auth procs are arranged this way to test
this)
2013-07-31 23:27:07 +01:00
Dominik Picheta
70d67daa14
Introduced 'reg' keyword, and changed the await behaviour for custom
...
procs.
2013-07-31 19:28:37 +01:00
Dominik Picheta
426c2d6c01
Implemented default arguments for async procs.
2013-07-28 14:41:09 +01:00
Dominik Picheta
2330c95b22
Implemented genSym for async function calls.
2013-07-28 13:50:32 +01:00
Dominik Picheta
c5ff9650f7
Changed some asyncio macro code to use the new genSym.
2013-07-25 22:13:37 +01:00
Dominik Picheta
3e7ea859ec
Merge branch 'master' into asyncmacro
2013-07-25 19:33:08 +01:00
Araq
9acdf94cc0
fixes #531
2013-07-24 23:07:28 +02:00
Araq
b1d4dfa6b1
fixes #544
2013-07-24 22:32:09 +02:00
Dominik Picheta
a1a8925692
Calling an async proc with invalid arguments will now fail at compile-time.
2013-07-21 14:28:02 +01:00
Dominik Picheta
d15e67e020
Better param passing. Implemented send, readLine and support for
...
documentation stubs.
2013-07-21 13:58:54 +01:00
Dominik Picheta
75893d1b36
First implementation of the async/await-like system with macros.
2013-07-20 23:42:10 +01:00
Grzegorz Adam Hankiewicz
2f0f1d0a3f
Adds idetools failure case for re"" being reported as a module.
2013-07-06 20:20:58 +02:00
Grzegorz Adam Hankiewicz
baf4f8c9eb
Documents idetools skMacro with failure test case.
2013-07-06 20:00:12 +02:00
Grzegorz Adam Hankiewicz
383d047763
Documents idetools skLabel with failure test case.
2013-07-06 19:42:36 +02:00
Grzegorz Adam Hankiewicz
4ed44fc634
Moves caasdriver comments into idetools document.
2013-07-06 18:51:37 +02:00
Grzegorz Adam Hankiewicz
b22af9776d
Forces removal of nimcache dir for all caas runs.
...
Now some test cases fail because they can't use a previous nimcache
directory (which potentially could have wrong compiled code anyway).
2013-07-06 18:03:19 +02:00
Grzegorz Adam Hankiewicz
4583c4ea0a
Adds more idetools suggest failure cases.
2013-07-06 16:51:55 +02:00
Araq
3e4dec3cf4
Merge pull request #485 from gradha/pr_suggest_case
...
Adds idetools --suggest test case. Refs #484 .
2013-07-02 11:58:59 -07:00
Araq
c1155cd2a5
fixes #503
2013-07-02 19:32:12 +02:00
Grzegorz Adam Hankiewicz
f7f1408168
Adds idetools --suggest test case. Refs #484 .
...
1) There are too many suggestions for the given prefix.
2) The suggestions don't take into account the preceeding type.
3) trackDirty only works on caas mode.
2013-07-02 12:28:22 +02:00
Araq
dfe195a4a1
fixes #501
2013-07-01 20:25:38 +02:00
Araq
30f8568570
fixes --os:standalone
2013-06-30 22:10:04 +02:00
Araq
1a5e30b053
made some tests green
2013-06-30 21:55:05 +02:00
Araq
52851b722d
--os:standalone works again
2013-06-30 21:15:28 +02:00
Araq
1bdc0d1dd3
fixes lots of regressions
2013-06-29 10:04:18 +02:00
Araq
7b946ec025
Merge pull request #486 from gradha/pr_idetools_docs
...
Adds idetools docs
2013-06-28 14:43:30 -07:00
Araq
693d019654
Merge pull request #487 from gradha/pr_no_more_slurping
...
Improves highlite module
2013-06-28 14:41:44 -07:00
Araq
b6f2902905
Merge branch 'master' of github.com:Araq/Nimrod
2013-06-27 19:57:24 +02:00
Dominik Picheta
a9f2c3ffaf
Fixed OSError + recvLine deprecation warnings.
2013-06-27 15:06:30 +01:00
Araq
8d4f5038d0
fixes #488
2013-06-27 08:19:03 +02:00
Araq
ed56b8c173
fixes #442
2013-06-27 08:06:55 +02:00
Grzegorz Adam Hankiewicz
579d0f6f41
Adds highlite to tests suite.
2013-06-18 22:18:44 +02:00
Grzegorz Adam Hankiewicz
a1da2b713b
Adds idetools hierarchy nesting test.
2013-06-16 22:39:38 +02:00
Grzegorz Adam Hankiewicz
1f8c5c37d3
Adds idetools test to verify --usages, reuses testcase.
2013-06-16 22:39:38 +02:00
Grzegorz Adam Hankiewicz
25f45cace1
Adds idetools test to check declaration proc signatures.
2013-06-16 22:39:38 +02:00
Grzegorz Adam Hankiewicz
b15f585273
Adds idetoos testcase to verify returned signatures.
...
At the moment too many of them return proc.
2013-06-16 22:39:38 +02:00
Grzegorz Adam Hankiewicz
d2def332fd
Adds $SILENT replacement to reduce test output verbosity.
2013-06-16 22:39:38 +02:00
Araq
ff1d68c50b
fixes #481
2013-06-13 15:19:55 +02:00
Araq
2464da5b26
Merge branch 'master' of github.com:Araq/Nimrod
2013-06-13 01:40:35 +02:00
Araq
d4c91bbd85
improvements for 'not nil' checking
2013-06-13 01:40:11 +02:00
zah
b1f4ade874
Merge pull request #478 from gradha/pr_idetools
...
More idetools additions
2013-06-12 02:25:25 -07:00
Araq
0097305953
bugfixes for the guarded data flow analysis
2013-06-12 00:41:02 +02:00
Grzegorz Adam Hankiewicz
b4ea608b65
Removes the nimcache symbol directory for each run.
2013-06-11 22:34:37 +02:00
Grzegorz Adam Hankiewicz
28041461b7
Adds symbol proc run mode as suggested by Zahary.
...
To avoid collision each test case uses a different nimcache directory
based on the input test filename.
2013-06-11 17:23:48 +02:00
Grzegorz Adam Hankiewicz
10c441deed
Enables trackDirty query for idetools proc mode.
2013-06-11 16:49:43 +02:00
Grzegorz Adam Hankiewicz
41c51a11d3
Adds $TESTNIM and $MODULE as variables to test cases.
2013-06-11 16:49:04 +02:00
Araq
38faa64b12
Merge branch 'master' of github.com:Araq/Nimrod
2013-06-11 00:32:27 +02:00
Araq
c156f2d493
next steps for guarded data flow analysis
2013-06-11 00:31:40 +02:00
Grzegorz Adam Hankiewicz
fe18117fb2
Adds idetools testcase for dynamic dispatch. Refs #477 .
2013-06-10 23:07:36 +02:00