test


Log

Author Commit Date CI Message
billsegall ded80866 2015-12-17T21:27:37 Provide a mechanism for building the library on Windows with different compiler flags. Add a batch file that builds it for the M[DT][d] options and performs a hunt and gather of the different output libraries.
Azat Khuzhin 0b9d4324 2015-11-25T17:29:42 test/dns: check exit code of evdns_getaddrinfo() By some reason all autotools builds failed: CI: https://travis-ci.org/libevent/libevent/builds/93125954
Azat Khuzhin 4ad34831 2015-11-23T15:52:10 test/dns: cover evdns_getaddrinfo() and evdns_base_free() with @fail_requests
Azat Khuzhin d6c6fb42 2015-11-23T15:28:40 test/dns: cover @fail_requests for evdns_base_free()
Azat Khuzhin 123d3728 2015-11-23T15:14:32 test/dns: more graceful coverage of @fail_requests In case when evdns_base_free() called with @fail_requests, we can potentially have leaks, but we can avoid them if we will run event loop once again to trigger defer cbs, so let's do this, instead of magical decrements (and also this will give an example how to avoid leaks for evdns).
Azat Khuzhin da0ea7ae 2015-11-18T02:50:25 test/ssl: cover busy-loop (i.e. {read,write}-blocked-on-{write,read} stuff) This covers SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE error codes from ssl, under which we must block read/write to avoid busy looping, and hence extra CPU usage. This test introduces custom BIO that will count read/write and validates counters, with patches for be_openssl that drops handling SSL/SSL_ERROR_WANT_READ there are more then 43K reads, so 100 is pretty ok.
Azat Khuzhin 23c77b60 2015-11-15T00:12:25 test/http: write_during_read for https
Azat Khuzhin 7ea26f71 2015-11-15T00:08:24 test/http: connection_fail for https
Azat Khuzhin ac049683 2015-11-15T00:05:00 test/http: stream_out for https
Azat Khuzhin a71ffb9d 2015-11-06T15:58:41 test/http: chunk_out for https
Azat Khuzhin 3160716f 2015-11-06T10:13:13 test/regress: fix ssl-less builds (need to make this prettier) CI: https://travis-ci.org/libevent/libevent/jobs/89590839
Azat Khuzhin 1ede3262 2015-11-06T02:24:28 test/http: allow dirty shutdown for ssl to fix https_incomplete
Azat Khuzhin 59714b46 2015-11-05T19:12:58 test/http: https basic
Azat Khuzhin 615490d0 2015-11-05T19:08:30 test/http: incomplete{,_timeout} for https
Azat Khuzhin 93b19dc5 2015-11-05T12:39:35 test/http: add simplest test for http/https/https_dirty_shutdown There is "basic" before, but it uses bufferevent's for creating requests for http layer, while this test uses http layer for client requests too.
Azat Khuzhin 7c2d24ae 2015-11-05T11:17:07 test/http: https: retry coverage
Azat Khuzhin a7088ad0 2015-11-05T10:58:41 test/http: https server support (plus some helpers) TODO: - check BEV_OPT_DEFER_CALLBACKS separately
Azat Khuzhin a27c53c5 2015-11-05T11:18:32 test/http: more sanity checks
Azat Khuzhin 0c4c387c 2015-11-05T10:34:18 test/ssl: export getkey()/getcert()/get_ssl_ctx()/init_ssl() for https
Azat Khuzhin ad52602f 2015-10-30T18:38:21 test/regress_be: basic coverage bufferevent_flush() for pair/sock layers Refs #266
Azat Khuzhin f8081afc 2015-10-30T18:37:44 test/regress_be: socket_filter_inactive: check bufferevent after creation Fixes: ../test/regress_bufferevent.c: In function ‘test_bufferevent_socket_filter_inactive’: ../test/regress_bufferevent.c:1180:1: warning: label ‘end’ defined but not used [-Wunused-label] end:
Azat Khuzhin 337684b8 2015-10-09T01:40:02 test/regress_be: cover finalizers from inactive to active queue Right now this will fail with the next assertion: $ regress --no-fork --verbose bufferevent/bufferevent_socket_filter_inactive bufferevent/bufferevent_socket_filter_inactive: [err] ../event.c:862: Assertion TAILQ_EMPTY(&base->activequeues[i]) failed in event_base_free_ Aborted
Azat Khuzhin d8fd4c07 2015-10-09T01:53:40 test/regress_buffer: fix clang compilation warnings ../test/regress_buffer.c:201:12: warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses] tt_assert(!memcmp((char*)EVBUFFER_DATA(evb), "1/hello", 7) != 0);
Azat Khuzhin cd422e09 2015-10-09T01:50:05 test/regress_http: fix compilation warnings (-Wmissing-field-initializers)
Azat Khuzhin f55db985 2015-10-09T01:43:52 test/regress_dns: fix compilation warnings (-Wmissing-field-initializers/for) I don't have an error for loop because gcc5 have --std=gnu11 by default. We need some options-consistency for all versions/compilers and build systems to avoid such patches. Fixes: https://travis-ci.org/libevent/libevent/jobs/84403473 Fixes: https://travis-ci.org/libevent/libevent/builds/84403463
Azat Khuzhin 1e8bfbc6 2015-10-09T01:11:09 tests/regress_dns: cover that randomize-case works case-insensitive Regression-for: #288
Thomas Bernard 9f02a445 2015-10-05T12:37:41 make test/regress_ssl.c compile without warnings
Azat Khuzhin 8240379a 2015-10-04T03:19:12 test/regress_be: drop debug __asm__(int3) to fix arm build Closes #284
Azat Khuzhin 3f749e93 2015-09-10T13:38:58 test: fix bufferevent/bufferevent_pair_release_lock in debug mode After this test had been fixed for freebsd the debug build was broken because we can't call evthread_set_lock_callbacks() when something already initialized, and we can't call event_base_free() (in kqueue case) when it is initialized, because of "held_by", but this only playing role during freeing lock profiler so reset lock callbacks there before and this will fix both. Fixes: 79f9ace4ae8a259a5cf1b4ff3869078b60ff16a1 ("test: fix bufferevent/bufferevent_pair_release_lock for freebsd") P.S. after this patch 'make verify' finishes without errors on freebsd.
Azat Khuzhin 79f9ace4 2015-09-10T12:39:20 test: fix bufferevent/bufferevent_pair_release_lock for freebsd On FreeBSD with kqueue there is a call to evthread_debug_lock_mark_unlocked() during event_base_free(), that will fail with an assert because of unmatched "held_by", fix this by reseting lock callbacks to NULL before event_base_free(). Trace: bufferevent/bufferevent_pair_release_lock: [warn] Trying to disable lock functions after they have been set up will probaby not work. [warn] Trying to disable lock functions after they have been set up will probaby not work. FAIL libevent/test/regress_bufferevent.c:259: lock: lock error[err] libevent/evthread.c:277: Assertion lock->held_by == me failed in evthread_debug_lock_mark_unlocked [New Thread 802006400 (LWP 100070/regress)] Program received signal SIGABRT, Aborted. [Switching to Thread 802006400 (LWP 100070/regress)] 0x000000080167d6ca in thr_kill () from /lib/libc.so.7 (gdb) bt #0 0x000000080167d6ca in thr_kill () from /lib/libc.so.7 #1 0x0000000801752149 in abort () from /lib/libc.so.7 #2 0x00000000004dff44 in event_exit (errcode=-559030611) at libevent/log.c:105 #3 0x00000000004e053c in event_errx (eval=-559030611, fmt=0x5182cc "%s:%d: Assertion %s failed in %s") at libevent/log.c:162 #4 0x00000000004d9954 in evthread_debug_lock_mark_unlocked (mode=0, lock=0x802017060) at libevent/evthread.c:277 #5 0x00000000004d909a in debug_lock_unlock (mode=0, lock_=0x802017060) at libevent/evthread.c:290 #6 0x00000000004e132c in evsig_dealloc_ (base=0x80201e300) at libevent/signal.c:434 #7 0x00000000004e36c1 in kq_dealloc (base=0x80201e300) at libevent/kqueue.c:435 #8 0x00000000004c9a44 in event_base_free_ (base=0x80201e300, run_finalizers=1) at libevent/event.c:855 #9 0x00000000004c931a in event_base_free (base=0x0) at libevent/event.c:887 #10 0x0000000000452657 in lock_unlock_free_thread_cbs () at libevent/test/regress_bufferevent.c:279 #11 0x0000000000452621 in free_lock_unlock_profiler (data=0x8020170a0) at libevent/test/regress_bufferevent.c:317 #12 0x000000000044bc8f in test_bufferevent_pair_release_lock (arg=0x8020170a0) at libevent/test/regress_bufferevent.c:334 #13 0x00000000004b2288 in testcase_run_bare_ (testcase=0x737660) at libevent/test/tinytest.c:105 #14 0x00000000004b1e72 in testcase_run_one (group=0x738c90, testcase=0x737660) at libevent/test/tinytest.c:252 #15 0x00000000004b2930 in tinytest_main (c=3, v=0x7fffffffead0, groups=0x738c20) at libevent/test/tinytest.c:434 #16 0x00000000004982fe in main (argc=3, argv=0x7fffffffead0) at libevent/test/regress_main.c:459 (gdb) f 4 #4 0x00000000004d9954 in evthread_debug_lock_mark_unlocked (mode=0, lock=0x802017060) at libevent/evthread.c:277 277 EVUTIL_ASSERT(lock->held_by == me); Current language: auto; currently minimal (gdb) p lock $1 = (struct debug_lock *) 0x802017060 (gdb) p lock->held_by $2 = 0 (gdb) p me $3 = 34393318400
Azat Khuzhin a0f308da 2015-09-10T11:18:20 test/regress_be: bufferevent_enable() shouldn't call eventcb by it's own It must enter the event loop regardless BEV_OPT_DEFER_CALLBACKS, to avoid potential errors with subsequent connect(), you will find more info in #43, since this is a regression for it.
Azat Khuzhin 37dc9e0e 2015-09-10T01:17:50 test/regress_be: introduce fake_listener_create()
Azat Khuzhin 6f6fa0d2 2015-09-09T19:15:18 test/regress_http: cover evhttp_request_own()
Azat Khuzhin 3d15aeb4 2015-09-09T17:45:44 test/regress_http: cover write during read This is the regression for evhttp_write_buffer() where we reset readcb to avoid illegal state: http/write_during_read: [err] evhttp_read_cb: illegal connection state 7 If you will comment that this test will fail.
Azat Khuzhin 4be6c70b 2015-09-08T15:44:13 test/regress_http: verify that closecb will be called without multiple write And now this works incorrect, i.e. http layer will not detect EOF until another write. Reported-in: #78
Azat Khuzhin cf2cf2a0 2015-09-02T11:51:00 test: run regress with EVENT_DEBUG_MODE=1 and without This could show some bugs like "event_assign called on an already added event", and some others that debugging mode could track.
Azat Khuzhin 6ea66554 2015-09-02T11:55:14 test/regress: fix bufferevent_pair_release_lock with EVENT_DEBUG_MODE Before this patch you will see next error: $ EVENT_DEBUG_MODE= regress --no-fork bufferevent/bufferevent_pair_release_lock bufferevent/bufferevent_pair_release_lock: [err] evthread initialization must be called BEFORE anything else!
Azat Khuzhin cdafdf01 2015-09-02T17:49:41 test/regress_ssl: check events fd/pending after timeout triggered In this case client can't connect to server, and this bring to the front some bugs with assigning on already added events (because of ```fd_is_set``` stuff), for more info see #258, since this is the reproducible for it.
Azat Khuzhin 74845f11 2015-09-02T17:36:20 test/regress_ssl: cover case when server didn't up (failed with timeout)
Azat Khuzhin df507afa 2015-09-02T17:17:43 test/regress_ssl: covert that we can't change fd with underlying
Azat Khuzhin 762edb46 2015-09-02T17:06:51 test/regress_ssl: cover that events (read/write) at finish not pending
Azat Khuzhin b78a8297 2015-09-02T12:35:51 test/regress_ssl: cover fd manipulations
Azat Khuzhin 46bba731 2015-09-02T12:31:15 test/regress_ssl: convert open_ssl_bufevs() to mask
Azat Khuzhin 34559913 2015-09-02T12:26:40 test/regress_ssl: convert client/server to mask too
Azat Khuzhin 04303273 2015-09-02T11:34:13 test/regress_ssl: cover "allow_dirty_shutdown"
Azat Khuzhin 342e116f 2015-09-02T11:22:43 test/regress_ssl: convert regress_bufferevent_openssl() to bitmask
Azat Khuzhin 25e56fdb 2015-08-25T17:01:42 tests/regress_ssl: drop duplicated assert
Ed Schouten fd36647a 2015-08-25T15:24:39 Don't use BSD u_* types. These types are not part of POSIX. As we only use them in a small number of places, we'd better replace them by C standard types. This makes a larger part of the code build for CloudABI.
Azat Khuzhin 9f0bff3f 2015-08-18T21:30:48 test/regress_http: initialize "dns_base" to avoid reading trash Even though it is very unlikely, but it will better to fix this.
Azat Khuzhin a50f5f0a 2015-01-01T06:27:31 http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR
Azat Khuzhin f4874d8c 2014-11-15T20:35:40 test/http: cover retrying with saved conn_address by shutting down dns server
Seungmo Koo cb969312 2015-06-07T15:51:15 Update bench_httpclient.c *fixed: socket_geterror instead of WSAGetLastError
zeliard 4e9325e8 2015-06-05T16:39:26 *fix: bench_httpclient to support win32
Mark Ellzey e84e269b 2015-05-11T22:53:05 Commented out a WIN32 threading / timing test for now - seems as if windows has some time scale issues which I am looking into. For now I am commenting out the regression test until it is fixed.
Thomas Bernard 0c7f2178 2015-02-16T23:42:54 Fix mixed declarations and code (forbidden by ISO C90)
Thomas Bernard 746d2c50 2015-02-16T23:41:53 Fix "function declaration isn’t a prototype" add "void" to argument list
Nick Mathewson a77a82a0 2015-02-04T08:37:32 Merge remote-tracking branch 'azat/be-pair-fix-freeing-shared-lock-v5'
Nick Mathewson 51821e20 2015-02-04T08:33:42 Merge pull request #207 from azat/avoid-leaking-of-event_debug_map_HT_GROW Avoid leaking of event_debug_map_HT_GROW
Nick Mathewson 537177d3 2015-02-02T13:57:22 New function to get address for nameserver.
Azat Khuzhin a558fcdb 2015-01-26T00:31:23 be_pair/regress: cover use of shared lock (lock/unlock/free) For more info look at 92a359ee3adf4636db508e6c6d7179d4d59eaafc ("be_pair: release shared lock with the latest of bufferevent_pair")
Azat Khuzhin 3540a193 2015-01-08T04:45:49 regress_dns: drop hack for event_debug_map_HT_GROW in leak tests
John Ohl f5b47657 2014-12-22T00:46:56 Fix warnings when compiling with clang 3.5
Nick Mathewson cb737041 2014-12-15T12:50:11 Fix annoying heisenbug in test-time.c
Nick Mathewson 7fd49414 2014-11-30T19:26:20 Merge remote-tracking branch 'origin/pr/182'
Nick Mathewson 154006ad 2014-11-30T11:09:28 More evbuffer_peek() test cases
Azat Khuzhin e2d139dd 2014-11-11T14:25:47 test/evbuffer_peek: add regress in case we have first buffer greater
John Ohl b0e99244 2014-10-29T03:40:44 Add test for evhttp_connection_free_on_completion
Azat Khuzhin 3ca9d43d 2014-04-10T19:33:45 evdns: add retry/reissue tests for EVDNS_BASE_DISABLE_WHEN_INACTIVE
Nick Mathewson 89c1a3b7 2014-09-18T12:40:38 Fix several memory leaks in the unit tests. Also add a comment to buffer.c about why we call evbuffer_file_segment_free on failure to add the segment.
Nick Mathewson 364c1106 2014-09-18T12:12:36 Fix for a677b72bd6d9d378daf9775966aa8ca574e26e67
Nick Mathewson fb57b8ba 2014-09-18T12:08:50 Make a buffer larger in the tests to avoid a scary evbuffer_copyout_from() The call was safe, but coverity couldn't tell. CID 1239294.
Nick Mathewson ca5b5c7d 2014-09-18T12:04:16 Use a more precise calculation for max in time-ratelim.c CID 1239297
Nick Mathewson a677b72b 2014-09-18T12:02:13 Use evutil_weakrand() in unit tests. (Coverity doesn't like random() or rand(). We don't care; this is for unit tests.) Fixes CID 1239298, 1239296, 1239295, 1239293.
Nick Mathewson 76643dd0 2014-09-18T11:54:39 Fix a c90 warning
Nick Mathewson c119f241 2014-09-18T11:54:04 Fix a dead-code warning in unit tests. CID 1193548
Nick Mathewson 37390574 2014-09-18T11:52:16 Fix a use-after-free in unit tests. CID 752027
Nick Mathewson c243dbf4 2014-09-18T11:44:11 Merge pull request #168 from ufo2243/master make bufferevent_getwatermark api more robust
Nick Mathewson 35f107de 2014-09-18T11:36:08 Merge remote-tracking branch 'origin/patches-2.0'
Maks Naumov 79800df7 2014-03-25T13:35:13 regress_buffer: fix 'memcmp' compare size
Nick Mathewson 73615a37 2014-09-18T11:31:52 Merge pull request #118 from azat/http-forward-family-to-bufferevent Add evhttp_connection_set_family() to set addrinfo->family for DNS requests
Nick Mathewson 08c88ea5 2014-09-18T11:28:19 use correct tt macro for pointer compare
Nick Mathewson afce2721 2014-09-18T11:25:27 Merge pull request #128 from azat/tests-disable-when-inactive-v5 Some tests for EVDNS_BASE_DISABLE_WHEN_INACTIVE flag
ufo2243 a21e5108 2014-09-12T11:51:59 make bufferevent_getwatermark api more robust
Nick Mathewson 9f3a8acf 2014-08-29T14:38:09 Merge pull request #153 from azat/tests-simplestsignal test/regress: add simplestsignal: to track reorder bugs separately
Nick Mathewson f691389e 2014-08-29T14:28:09 Change return type of evutil_load_windows_system_library_ to HMODULE Noted by Miles Chan as issue #146
Azat Khuzhin b897beff 2014-02-23T02:31:51 test/regress: add simplestsignal: to track reorder bugs separately
Nick Mathewson 8da5a186 2014-05-08T13:21:49 Update to a more recent tinytest_macros. This one has less of a tendency to suppress important type warnings.
Azat Khuzhin 5ca9e97e 2014-04-11T18:50:10 regress dns: drop alarm() (since windows don't have it)
Azat Khuzhin fea86a64 2014-04-10T01:11:42 evdns: add regress test for flag EVDNS_BASE_DISABLE_WHEN_INACTIVE without ns
Azat Khuzhin ad0493ee 2014-04-09T17:48:12 evdns: add regress for EVDNS_BASE_DISABLE_WHEN_INACTIVE base flag
Azat Khuzhin 3fbf3cc9 2014-03-27T00:49:00 test/http: add regress test for set family to AF_INET6
Azat Khuzhin 42aefeb0 2014-03-27T00:40:14 test: add regress for evhttp_connection_set_family() with AF_INET and AF_UNSPEC
Azat Khuzhin 177b8a7c 2014-03-27T00:44:51 test: add family argument for http_connection_test_()
Nick Mathewson 6066f985 2014-03-26T11:02:52 Merge pull request #121 from azat/dns-regress-leaks regress_dns: fix leaks in getaddrinfo_async{,_cancel_stress} tests
Azat Khuzhin 2fdc5f29 2014-03-23T15:12:29 regress_dns: fix leaks in getaddrinfo_async{,_cancel_stress} tests
Trond Norbye dc82c8d3 2014-03-21T11:59:55 Renamed sin to saddr due to name conflict During building on MSVC 2013 I got a compiler error by a type conflict for sin: test-fdleak.c(60) : error C2365: 'sin' : redefinition; previous definition was 'function' test-fdleak.c(134) : error C2070: 'double (__cdecl *)()': illegal sizeof operand test-fdleak.c(134) : error C2198: 'evconnlistener_new_bind' : too few arguments for call test-fdleak.c(148) : error C2070: 'double (__cdecl *)()': illegal sizeof operand test-fdleak.c(148) : error C2168: 'memcpy' : too few actual parameters for intrinsic function test-fdleak.c(149) : error C2224: left of '.sin_family' must have struct/union type test-fdleak.c(212) : error C2070: 'double (__cdecl *)()': illegal sizeof operand test-fdleak.c(212) : error C2198: 'bufferevent_socket_connect' : too few arguments for call test-fdleak.c(239) : error C2070: 'double (__cdecl *)()': illegal sizeof operand test-fdleak.c(239) : error C2168: 'memset' : too few actual parameters for intrinsic function test-fdleak.c(240) : error C2224: left of '.sin_family' must have struct/union type test-fdleak.c(241) : error C2224: left of '.sin_addr' must have struct/union type test-fdleak.c(242) : error C2224: left of '.sin_port' must have struct/union type The simplest solution to this problem would be to rename the variable.
Nick Mathewson 6a1c4d50 2014-03-18T18:36:32 Correctly skip ipv6 http test on systems without ipv6
Nick Mathewson e5302ac7 2014-03-18T12:35:39 Remove integer-overflow unit tests There's not much point checking undefined behavior.
Nick Mathewson 58fc9b6c 2014-03-18T11:35:50 Fix ubsan warnings when parsing ipv4/ipv6 addrs left-shifting a one-byte integer by 24 invokes undefined behavior. Let's not do that.
Nick Mathewson 860c71c8 2014-03-18T11:13:45 Fix an illegal read error in the evbuffer_add_reference tests Found with AddressSanitizer