|
43eb56c7
|
2016-08-11T16:15:45
|
|
tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris
According to solaris docs:
"One instance of a SIGCHLD signal is queued for each child process whose
status has changed. If waitpid() returns because the status of a child
process is available, and WNOWAIT was not specified in options, any pending
SIGCHLD signal associated with the process ID of that child process is
discarded. Any other pending SIGCHLD signals remain pending."
And interesting thing that it works if you add sleep(1) before waitpid(), and
also if you run with --verbose (some race or what).
But linux doesn't support WNOWAIT in waitpid() so add detection into
cmake/autotools.
Fixes: #387
Link: https://bugzilla.redhat.com/show_bug.cgi?id=840782
|
|
16d220cb
|
2016-08-11T13:43:14
|
|
test: replace sleeping with syncing pair in main/fork
About this syncing pair:
- read endpoint, must be blocked, to make it a checkpoint or smth like this
- write endpoint, must be nonblocking, to avoid readcb hung
Refs: #387
|
|
500b6b75
|
2016-08-10T16:50:19
|
|
test/http: do not run tests that based on backlog filling (freebsd)
I cannot find any other solution for now, so simply ignore them for now, we
should think about normal fix for this.
Refs: #388
|
|
4410e9df
|
2016-08-10T12:07:32
|
|
test/bufferevent/iocp: fix test name for "bufferevent_connect_fail_eventcb"
|
|
a487706e
|
2016-08-07T23:14:01
|
|
test: fix building with --disable-thread-support under win32
|
|
bb09535b
|
2016-08-07T22:19:39
|
|
autoconf: fix --disable-thread-support build under win32
Fixes: https://ci.appveyor.com/project/azat/libevent/build/job/gvud4tcqsd5bnarl
Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.6.80/job/5frnb1c3n4quxxqy
Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.6.80/job/3wdahbrew7setmoa
|
|
a9e8cd67
|
2016-08-09T12:25:11
|
|
test/ssl: use send()/recv()/EVUTIL_ERR_RW_RETRIABLE()/EVUTIL_SOCKET_ERROR() to fix win32
Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.5.107/job/k70our1xdp0ym4dm#L1906
Fixes: ssl/bufferevent_connect_sleep
|
|
d5a2f2f9
|
2016-08-09T12:10:18
|
|
test/https_basic: increase timeout for complete write (fixes win32)
Otherwise on win32 we got 2, but test is ok, some timings issue.
Introduced-in: c968eb3
Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.5.107/job/k70our1xdp0ym4dm#L1906
|
|
48dab7aa
|
2016-06-22T15:48:51
|
|
test/buffer: cover evbuffer_expand() for overflow
Refs: #306
Refs: #340
|
|
a69e4fad
|
2016-06-19T13:24:18
|
|
buffer: Merge branch 'evbuffer-empty-chains-fixes-v4'
This fixes bug with empty-chains and
evbuffer_add_buffer()/evbuffer_remove_buffer().
* evbuffer-empty-chains-fixes-v4:
buffer: evbuffer_add_buffer(): clean empty chains from destination buffer
test/buffer: evbuffer_add_buffer() with empty chains
test/buffer: evbuffer_remove_buffer() with empty chains (prepend)
test/buffer: evbuffer_remove_buffer() with empty chains (evbuffer_add_buffer())
Reported-by: Eduardo Panisset <eduardo@anchorfree.com>
|
|
766194b3
|
2016-06-19T02:09:50
|
|
test/be_filter: creating test case for data stuck with active watermarks
v2: fix whitespaces
s/int/size_t/
use tt_int_op()
s/malloc/calloc (to avoid possible false-positive)
|
|
28518896
|
2016-05-21T21:05:11
|
|
Fix bufferevent_pair to properly set BEV_EVENT_{READING,WRITING} on flush.
Here's some fun. From `bufferevent.h`:
```
#define BEV_EVENT_READING 0x01 /**< error encountered while reading */
#define BEV_EVENT_WRITING 0x02 /**< error encountered while writing */
```
And from `event.h`:
```
/** Wait for a socket or FD to become readable */
#define EV_READ 0x02
/** Wait for a socket or FD to become writeable */
#define EV_WRITE 0x04
```
Library users have to be very careful to get this right; it turns out, the
library itself got this wrong in the `bufferevent_pair` code. It appears that
in most of the code, only `BEV_EVENT_FINISHED` will indicate whether it's read
or write; on error or timeout, it appears that "both" is assumed and not set in
the callback. I read through all the other places where `BEV_EVENT_FINISHED` is
passed to an event callback; it appears that the pair code is the only spot
that got it wrong.
azat: add TT_FORK to avoid breaking clean env, and rebase commit message
(copied from #359)
Fixes: #359
|
|
a272bc42
|
2016-06-17T15:54:53
|
|
test/buffer: evbuffer_add_buffer() with empty chains
Reported-by: @EMPanisset
Link: https://github.com/libevent/libevent/issues/358#issuecomment-225345697
|
|
f0cfa146
|
2016-06-08T13:41:30
|
|
test/buffer: evbuffer_remove_buffer() with empty chains (prepend)
Using:
- evbuffer_add()
- evbuffer_prepend_buffer()
- evbuffer_add_reference()
- evbuffer_remove_buffer()
|
|
2880ce6a
|
2016-06-07T14:56:32
|
|
test/buffer: evbuffer_remove_buffer() with empty chains (evbuffer_add_buffer())
Using:
- evbuffer_add()
- evbuffer_add_buffer() -- the one that has problem
- evbuffer_add_reference() -- the only one that allows empty chains to be added
- evbuffer_remove_buffer()
|
|
2a4bf294
|
2016-06-17T16:14:02
|
|
test/http: avoid using conditionals with omitted operands (fixes VS2015)
But we need to add VS2015 build on appveyor.
Fixes: #361
Reported-by: @nntrab
|
|
aabf1c2d
|
2016-06-17T16:07:15
|
|
test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement)
|
|
c08d90ba
|
2016-06-17T15:54:31
|
|
test/buffer: fix leak in test_evbuffer_prepend()
|
|
e7d1e392
|
2016-06-17T15:43:26
|
|
test/buffer: avoid errors with --no-fork (reinitialize static vars)
|
|
e77ff418
|
2016-04-21T01:47:29
|
|
test/buffer: cover n_add_for_cb when evbuffer_prepend() need to allocate buffer
Regression-for: 0abd0393eaf029e1ead8a09b479ea6830f7152ee ("Fix n_add_for_cb in
evbuffer_prepend() in case of new buffer required")
|
|
bd19a28a
|
2016-04-21T02:11:26
|
|
test/tinytest_macros: add new one tt_nstr_op()
|
|
ae288125
|
2016-04-18T12:50:24
|
|
test/bufferevent: check that output_filter disabled during processing output
Regression-for: c031215d532c97f1d82efd672ecd622d31d3342d ("be_filter: actually
disable output_filter during processing output")
|
|
7d856516
|
2016-03-31T20:50:12
|
|
test/listener: regression for missing unlock in listener_read_cb()
P.S. it triggers even without pthread, but this makes checks more strict.
Refs: #341
|
|
d5ee7391
|
2016-03-26T14:14:44
|
|
test/regress: add tests for evbuffer_add() breakage on empty last chain
The evbuffer/add* tests currenly break on 2.0.21, 2.0.22 and 2.1 HEAD
due to issue #335. The evbuffer/reference2 test breaks on 2.0.21 and
2.0.22 due to commit b18c04dd not being applied.
|
|
bddad71e
|
2016-03-25T11:22:43
|
|
test/http: fix running some tests sequential (with --no-fork)
After this patch
$ regress --no-fork +http/..
Passed without failures.
|
|
cbc3209d
|
2016-03-25T11:04:51
|
|
test/http: localize evhttp server structure
|
|
d7348bab
|
2016-03-25T00:21:06
|
|
test/dns: regression for empty hostname
Refs: #332
|
|
d49a6587
|
2016-03-24T20:29:25
|
|
test/http: fix SERVER_TIMEOUT tests under win32
Seems that the hack with filling BACKLOG didn't work on win32, and hence we
stuck in write() waiting, not in connect()
And:
$ time regress http/cancel_server_timeout
- on linux: 10secs
- on win32: 2-5secs
I tried to debug this but you can't sniff TCP packages (wireshark/rawpcap) on
localhost in windows xp (according to [RAWPCAP] and my testing).
RAWPCAP: http://www.netresec.com/?page=RawCap
|
|
376f1073
|
2016-03-24T20:26:50
|
|
test/http: add a helper for creating timedout/failed request
|
|
d02a2858
|
2016-03-24T14:11:10
|
|
test/http: adopt for C90 (mixed code and declarations)
|
|
0c343afe
|
2016-03-24T10:27:24
|
|
test/http: cover NS timed out during request cancellations separatelly
|
|
334340da
|
2016-03-12T18:50:41
|
|
test/http: request cancellation with resolving/{conn,write}-timeouts in progress
This patch adds 8 new tests:
- http/cancel
- http/cancel_by_host
- http/cancel_by_host_no_ns
- http/cancel_by_host_inactive_server
- http/cancel_inactive_server
- http/cancel_by_host_no_ns_inactive_server
- http/cancel_by_host_server_timeout
- http/cancel_server_timeout
- http/cancel_by_host_no_ns_server_timeout
This patches not 100% for http layer, but more for be_sock, but it was simpler
to add them here, plus it also shows some bugs with fd leaking in http layer.
Right now we have next picture (we can also play with timeouts/attempts for
evdns to make tests fail, IOW to track the failures even without valgrind):
$ valgrind --leak-check=full --show-reachable=yes --track-fds=yes --error-exitcode=1 regress --no-fork http/cancel..
http/cancel: OK
http/cancel_by_host: OK
http/cancel_by_host_no_ns: [msg] Nameserver 127.0.0.1:42489 has failed: request timed out.
[msg] All nameservers have failed
OK
http/cancel_by_host_inactive_server: OK
http/cancel_inactive_server: OK
http/cancel_by_host_no_ns_inactive_server: [msg] Nameserver 127.0.0.1:51370 has failed: request timed out.
[msg] All nameservers have failed
OK
http/cancel_by_host_server_timeout: OK
http/cancel_server_timeout: OK
http/cancel_by_host_no_ns_server_timeout: [msg] Nameserver 127.0.0.1:45054 has failed: request timed out.
[msg] All nameservers have failed
OK
9 tests ok. (0 skipped)
==3202==
==3202== FILE DESCRIPTORS: 2309 open at exit.
...
==8403== HEAP SUMMARY:
==8403== in use at exit: 1,104 bytes in 5 blocks
==8403== total heap usage: 10,916 allocs, 10,911 frees, 1,458,818 bytes allocated
==8403==
==8403== 40 bytes in 1 blocks are indirectly lost in loss record 1 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x498E48: evbuffer_add_cb (buffer.c:3309)
==8403== by 0x4A0DE2: bufferevent_socket_new (bufferevent_sock.c:366)
==8403== by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)
==8403== by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)
==8403== by 0x460CFC: http_cancel_test (regress_http.c:1413)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== 136 bytes in 1 blocks are indirectly lost in loss record 2 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x491EDD: evbuffer_new (buffer.c:365)
==8403== by 0x49A0AB: bufferevent_init_common_ (bufferevent.c:300)
==8403== by 0x4A0D31: bufferevent_socket_new (bufferevent_sock.c:353)
==8403== by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)
==8403== by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)
==8403== by 0x460CFC: http_cancel_test (regress_http.c:1413)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== 136 bytes in 1 blocks are indirectly lost in loss record 3 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x491EDD: evbuffer_new (buffer.c:365)
==8403== by 0x49A0E8: bufferevent_init_common_ (bufferevent.c:305)
==8403== by 0x4A0D31: bufferevent_socket_new (bufferevent_sock.c:353)
==8403== by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)
==8403== by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)
==8403== by 0x460CFC: http_cancel_test (regress_http.c:1413)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== 528 bytes in 1 blocks are indirectly lost in loss record 4 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x4A0D02: bufferevent_socket_new (bufferevent_sock.c:350)
==8403== by 0x4BF8BA: evhttp_connection_base_bufferevent_new (http.c:2369)
==8403== by 0x4BFA6A: evhttp_connection_base_new (http.c:2421)
==8403== by 0x460CFC: http_cancel_test (regress_http.c:1413)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== 1,104 (264 direct, 840 indirect) bytes in 1 blocks are definitely lost in loss record 5 of 5
==8403== at 0x4C2BBD5: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8403== by 0x4AAD2D: event_mm_calloc_ (event.c:3459)
==8403== by 0x4D0326: evdns_getaddrinfo (evdns.c:4682)
==8403== by 0x4B1213: evutil_getaddrinfo_async_ (evutil.c:1568)
==8403== by 0x4A1255: bufferevent_socket_connect_hostname (bufferevent_sock.c:517)
==8403== by 0x4C00B6: evhttp_connection_connect_ (http.c:2582)
==8403== by 0x4C02B8: evhttp_make_request (http.c:2637)
==8403== by 0x4614EC: http_cancel_test (regress_http.c:1496)
==8403== by 0x490965: testcase_run_bare_ (tinytest.c:105)
==8403== by 0x490C47: testcase_run_one (tinytest.c:252)
==8403== by 0x491586: tinytest_main (tinytest.c:434)
==8403== by 0x47DFCD: main (regress_main.c:461)
==8403==
==8403== LEAK SUMMARY:
==8403== definitely lost: 264 bytes in 1 blocks
==8403== indirectly lost: 840 bytes in 4 blocks
==8403== possibly lost: 0 bytes in 0 blocks
==8403== still reachable: 0 bytes in 0 blocks
==8403== suppressed: 0 bytes in 0 blocks
|
|
927ab33f
|
2016-03-13T13:05:25
|
|
test/http: exit from the loop in the errorcb to wait cancellation
This will make cancellation tests more graceful, that said that error_cb can
not be called sometimes if you will break the loop in cancel.
Plus drop that define for function generations, since function body changed,
and it is not generic anymore, plus that macro didn't used by anyone else.
|
|
351207f4
|
2016-03-22T23:10:19
|
|
regress_clean_dnsserver(): reset global port vars
This will fix some test chains with --no-fork.
|
|
3b581693
|
2016-03-11T20:06:11
|
|
test/http: read_on_write_error: fix it for win32
Fixes: https://ci.appveyor.com/project/nmathewson/libevent/build/2.1.5.216#L499 (win32)
|
|
5c2b4c19
|
2016-03-11T19:25:11
|
|
test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR
|
|
31d81163
|
2016-03-11T14:23:03
|
|
test/http: cover "Expect: 100-continue" client-server interaction
|
|
ed469abb
|
2016-03-11T16:18:48
|
|
test/http: *lingering tests shouldn't have "Expect: 100-continue"
|
|
04fc82f7
|
2016-03-11T01:27:52
|
|
test: use EVUTIL_SHUT_WR
|
|
31667659
|
2016-03-10T18:40:34
|
|
test/http: avoid huge stack allocations to fix win32 builds
Since according to [DOC] default stack size is 1MB, so let's use dynamic
allocations instead of changing defaults.
DOC: https://msdn.microsoft.com/en-us/library/8cxs58a6.aspx
Not-fixes: http/data_length_constraints
Fixes: http/lingering_close
Fixes: http/non_lingering_close
Fixes: https://ci.appveyor.com/project/nmathewson/libevent/build/2.1.5.213
|
|
e122ca1e
|
2016-02-15T03:21:39
|
|
test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE
|
|
f41e1b01
|
2016-02-15T03:13:02
|
|
test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE
|
|
addf2b90
|
2016-02-15T03:46:20
|
|
test: http/*: update expected HTTP codes for body exceeds `max_body_size`
|
|
d38a7239
|
2016-02-15T02:41:19
|
|
test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR
|
|
0792e1e7
|
2016-02-10T12:37:30
|
|
test: increase buffer size for http/data_length_constraints to trigger EPIPE
With greater buffer it can't be written with one writev(2), and hence we can
trigger more tricky cases, like calling writecb/readcb more then once.
Refs: #321
|
|
f062bbe3
|
2016-02-24T14:02:37
|
|
test/tinytest_demo: include <windows.h> for win32 to fix tdm-gcc
From: @gvanem
Fixes: #325
|
|
73d0360e
|
2016-02-15T18:01:36
|
|
test/regress_ssl: Fix compile problems for win32
Windows doesn't have unistd.h, but have the required
functionality in io.h.
azat: use ev_ssize_t instead of ssize_t
|
|
4f778ab6
|
2016-01-22T11:16:05
|
|
Add missing return statement to del_wait_thread so libevent can build.
|
|
5b58b709
|
2016-01-03T00:23:22
|
|
test/regress: cover event_del() waiting mechanism
Since we have some issues (see refs) for changing waiting order in event_del()
I wrote this simple test, so maybe this test can explain something or at least
cover what we have before and show it will be broken.
P.S. we really need avoid such stuff like lets-test-with-sleep/usleep.
Refs: #225
Refs: #226
Refs: #236
|
|
ceddc607
|
2015-12-27T02:48:40
|
|
test/regress: cover existing signal callbacks and fork() + event_reinit()
Regression-for: 88640aa ("event_reinit: make signals works after fork() without
evsig_add()")
|
|
b075b81c
|
2015-12-27T09:26:54
|
|
test/regress: cover signals after fork() + event_reinit()
Regression-for: ad0c237 ("event_reinit: always re-init signal's socketpair")
|
|
088d8b39
|
2015-12-27T02:31:03
|
|
test/regress: main/fork: rewrite assertions by just removing event in callback
Instead of assigning some variable value (got_child), and schedule exit from
loop from that callback, just remove event for that signal, and event loop will
exit automatically when there will be no events.
|
|
a264da86
|
2015-12-20T00:57:50
|
|
Revert "The Windows socket type is defined as SOCKET."
|
|
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.
|
|
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
|
|
4ad34831
|
2015-11-23T15:52:10
|
|
test/dns: cover evdns_getaddrinfo() and evdns_base_free() with @fail_requests
|
|
d6c6fb42
|
2015-11-23T15:28:40
|
|
test/dns: cover @fail_requests for evdns_base_free()
|
|
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).
|
|
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.
|
|
23c77b60
|
2015-11-15T00:12:25
|
|
test/http: write_during_read for https
|
|
7ea26f71
|
2015-11-15T00:08:24
|
|
test/http: connection_fail for https
|
|
ac049683
|
2015-11-15T00:05:00
|
|
test/http: stream_out for https
|
|
a71ffb9d
|
2015-11-06T15:58:41
|
|
test/http: chunk_out for https
|
|
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
|
|
1ede3262
|
2015-11-06T02:24:28
|
|
test/http: allow dirty shutdown for ssl to fix https_incomplete
|
|
59714b46
|
2015-11-05T19:12:58
|
|
test/http: https basic
|
|
615490d0
|
2015-11-05T19:08:30
|
|
test/http: incomplete{,_timeout} for https
|
|
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.
|
|
7c2d24ae
|
2015-11-05T11:17:07
|
|
test/http: https: retry coverage
|
|
a7088ad0
|
2015-11-05T10:58:41
|
|
test/http: https server support (plus some helpers)
TODO:
- check BEV_OPT_DEFER_CALLBACKS separately
|
|
a27c53c5
|
2015-11-05T11:18:32
|
|
test/http: more sanity checks
|
|
0c4c387c
|
2015-11-05T10:34:18
|
|
test/ssl: export getkey()/getcert()/get_ssl_ctx()/init_ssl() for https
|
|
ad52602f
|
2015-10-30T18:38:21
|
|
test/regress_be: basic coverage bufferevent_flush() for pair/sock layers
Refs #266
|
|
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:
|
|
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
|
|
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);
|
|
cd422e09
|
2015-10-09T01:50:05
|
|
test/regress_http: fix compilation warnings (-Wmissing-field-initializers)
|
|
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
|
|
1e8bfbc6
|
2015-10-09T01:11:09
|
|
tests/regress_dns: cover that randomize-case works case-insensitive
Regression-for: #288
|
|
9f02a445
|
2015-10-05T12:37:41
|
|
make test/regress_ssl.c compile without warnings
|
|
8240379a
|
2015-10-04T03:19:12
|
|
test/regress_be: drop debug __asm__(int3) to fix arm build
Closes #284
|
|
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.
|
|
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
|
|
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.
|
|
37dc9e0e
|
2015-09-10T01:17:50
|
|
test/regress_be: introduce fake_listener_create()
|
|
6f6fa0d2
|
2015-09-09T19:15:18
|
|
test/regress_http: cover evhttp_request_own()
|
|
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.
|
|
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
|
|
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.
|
|
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!
|
|
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.
|
|
74845f11
|
2015-09-02T17:36:20
|
|
test/regress_ssl: cover case when server didn't up (failed with timeout)
|
|
df507afa
|
2015-09-02T17:17:43
|
|
test/regress_ssl: covert that we can't change fd with underlying
|
|
762edb46
|
2015-09-02T17:06:51
|
|
test/regress_ssl: cover that events (read/write) at finish not pending
|
|
b78a8297
|
2015-09-02T12:35:51
|
|
test/regress_ssl: cover fd manipulations
|
|
46bba731
|
2015-09-02T12:31:15
|
|
test/regress_ssl: convert open_ssl_bufevs() to mask
|
|
34559913
|
2015-09-02T12:26:40
|
|
test/regress_ssl: convert client/server to mask too
|
|
04303273
|
2015-09-02T11:34:13
|
|
test/regress_ssl: cover "allow_dirty_shutdown"
|
|
342e116f
|
2015-09-02T11:22:43
|
|
test/regress_ssl: convert regress_bufferevent_openssl() to bitmask
|
|
25e56fdb
|
2015-08-25T17:01:42
|
|
tests/regress_ssl: drop duplicated assert
|