summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAge
* Add device support & testing. Bus semantic fix.Garrett D'Amore2017-01-27
| | | | | | | | | | | This adds nn_device and nng_device. There were some internal changes required to fix shutdown / close issues. Note that we shut down the sockets when exiting from device -- this is required to make both threads see the failure and bail, since we are not using a single event loop. I also noticed that the bus protocol had a bug where it would send messages back to the originator. This was specifically tested for in the compat_device test, and we have fixed it.
* Fixes for BUS protocol in compat, test suite, and timing in compat tests.Garrett D'Amore2017-01-26
|
* Added more plumbing to facilitate test writing & compatibility.Garrett D'Amore2017-01-26
| | | | | | Also, while here fixed a bug for the PAIR protocol in compat mode. It should now be possible to import more of the nanomsg tests directly with little or no modification.
* Add endpoint tuning of maxrcv size. Fix cmsg API.Garrett D'Amore2017-01-24
| | | | | | | | | | | | | | The CMSG handling was completely borked. This is fixed now, and we stash the SP header size (ugh) in the CMSG contents to match what nanomsg does. We now pass the cmsg validation test. We also fixed handling of certain endpoint-related options, so that endpoints can get options from the socket at initialization time. This required a minor change to the transport API for endpoints. Finally, we fixed a critical fault in the REP handling of RAW sockets, which caused them to always return NNG_ESTATE in all cases. It should now honor the actual socket option.
* Implement reconnect timer including backoff.Garrett D'Amore2017-01-24
| | | | This allows us to enable the last test case for compat_reqrep.
* Added a bunch more compatibility stuff.Garrett D'Amore2017-01-23
| | | | | | | | I implemented the reqrep compatibility test, which uncovered a few semantic issues I had in the REQ/REP protocol, which I've fixed. There are still missing things. and at least one portion of the req/rep test suite cannot be enabled until I add tuning of the reconnect timeout, which is currently way too long (1 sec) for the test suite to work.
* Event notification via pollable FDs verified working.Garrett D'Amore2017-01-22
|
* Whoops, forgot to add the pipe implementations to git!!Garrett D'Amore2017-01-21
|
* Adds NNG_OPT_SENDFD and NNG_OPT_RECVFD socket options (untested).Garrett D'Amore2017-01-21
|
* Initial swag at notification pipes (not used yet).Garrett D'Amore2017-01-21
|
* Fix compilation warnings found on Windows.Garrett D'Amore2017-01-21
|
* Fix leaks in bus, socket leaks, tighten up close-side refcnting.Garrett D'Amore2017-01-21
| | | | | | | | | | | | | | This does a few things. First it closes some preexisting leaks. Second it tightens the overall close logic so that we automatically discard idhash resources (while keeping numeric values for next id etc. around) when the last socket is closed. This then eliminates the need for applications to ever explicitly terminate resources. It turns out platform-specific resources established at nni_init() time might still be leaked, but it's also the case that we now no longer dynamically allocate anything at platform initialization time. (This presumes that the platform doesn't do so under the hood when creating critical sections or mutexes for example.)
* Implement nng_send and nng_recv convenience routines.Garrett D'Amore2017-01-21
|
* Dangling compiler warnings from sock handle change.Garrett D'Amore2017-01-20
|
* fixes #18 Sockets should be uint32_t's (handles) not pointers.Garrett D'Amore2017-01-20
|
* Fix leak in surveyor pipe.Garrett D'Amore2017-01-19
|
* Fix TCP hostname wildcards on Windows. Sort of.Garrett D'Amore2017-01-18
| | | | | | | | | I seem to be having a very difficult time getting dual-stack sockets to function properly on Windows. I've sort of abandoned it for now. I need to think about how to solve this -- it's not clear to me right now whether dual stack sockets are the right answer or not. People do expect these to work, but a tcp6:// url might be more elegant.
* Address segfault in TCP, and fix wild card handling.Garrett D'Amore2017-01-18
|
* fixes #12 SURVEY hang in TravisGarrett D'Amore2017-01-18
|
* Expose nni_init for now.Garrett D'Amore2017-01-18
|
* Reaper exits too soon, leaking bits.Garrett D'Amore2017-01-18
|
* Windows compilation fixes.Garrett D'Amore2017-01-18
|
* Fixes for valgrind issues.Garrett D'Amore2017-01-18
|
* Include time.h for getms.Garrett D'Amore2017-01-17
|
* Public pipe and endpoint APIs use IDs instead of pointers.Garrett D'Amore2017-01-17
|
* Added dynamic ID generation & management for idhash tables.Garrett D'Amore2017-01-17
| | | | | | This will allow us to use idhash tables to manage id handles a bit more flexibly. For example, sockets, pipe IDs, etc. can all be generated, and we can use hash tables to ensure that values do not collide.
* Whoops, Windows color fixes, 2nd pass.Garrett D'Amore2017-01-16
|
* External event API for send/recv implemented.Garrett D'Amore2017-01-16
| | | | | | This was the main blocker, I think, for the nanomsg legacy compat shim. Now that we have this, it should be relatively straight-forward to implement the legacy nanomsg API, including the SENDFD, RECVFD thing.
* Import updated C-Convey (for color on Windows).Garrett D'Amore2017-01-16
|
* Fix pipeline test failure.Garrett D'Amore2017-01-16
| | | | | | | | | I think there are a couple of linked issues; it really comes down to the fact that various threads start up asynchronously, and might not have gotten to the point where they are ready to receive. Making matters worse is the fact that when the message queues are unbuffered, the absence of a reader *right then* can cause pushback, which causes the load balance test to pass over a queue it really shouldn't.
* Fixes for 32-bit Windows compilation.Garrett D'Amore2017-01-16
|
* Various complaints found in AppVeyor build.Garrett D'Amore2017-01-16
|
* Compile static *and* shared libraries.Garrett D'Amore2017-01-15
| | | | | Test code needs to use the static libraries so that they can get access to the entire set of symbols, including private ones that are not exported.
* Use Windows tick clock instead of Performance counters.Garrett D'Amore2017-01-14
| | | | | | | | | | | | Since we use the tick counter to sleep, we should use the same clock for validation. The problem is that the high performance tick counter on the CPU may be slightly out of agreement with the windows clock. Furthermore, the tick counter is probably lots faster to retrieve since it is already updated, and needn't be recalculated each time. (We should consider just switching to millisecond clock resolution internally as well. It turns out that I don't think that timers that are shorter than 1ms are very useful.)
* Many fixes for Windows. It compiles, and some tests work.Garrett D'Amore2017-01-13
| | | | | | Windows is getting there. Needs a couple of more more hours to enable everything, especially IPC, and most of the work at this point is probably some combination of debug and tweaking things like error handling.
* Add IPC (UNIX domain sockets) for POSIX, and test suite.Garrett D'Amore2017-01-12
|
* Fixes for survey test. (We need to complete the connection first.)Garrett D'Amore2017-01-12
|
* Bus working, and added bus test.Garrett D'Amore2017-01-11
|
* Cleanup debug.Garrett D'Amore2017-01-09
|
* (Briefly) debug output for hang in survey test.Garrett D'Amore2017-01-09
|
* Add survey test (and fix survey pattern).Garrett D'Amore2017-01-09
| | | | | | | As part of this, we've added a way to unblock callers in a message queue with an error, even without a signal channel. This was necessary to interrupt blockers upon survey timeout. They will get NNG_ETIMEDOUT, but afterwards callers get NNG_ESTATE.
* Fix small message leak in pipeline test.Garrett D'Amore2017-01-07
|
* Add another dial to ensure that accept loop has made progress.Garrett D'Amore2017-01-07
|
* Pipeline fixes.Garrett D'Amore2017-01-07
|
* Pipeline test.Garrett D'Amore2017-01-07
|
* Fix startup race in the tests.Garrett D'Amore2017-01-06
| | | | | Pub pipes might not be connected yet. Do the dial from the pub side synchronously, and we can be sure no data will be lost.
* Bump the timeouts even more for Travis.Garrett D'Amore2017-01-06
|
* Bump timeout for crummy Travis -- 50 ms isn't enough!Garrett D'Amore2017-01-06
|
* Fix for valgrind leak.Garrett D'Amore2017-01-06
|
* Bunch of copyright fixes.Garrett D'Amore2017-01-06
|