summaryrefslogtreecommitdiffhomepage
path: root/test (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-02-28Tests: fixed PHP "disable_functions" and "disable_classes" tests.Andrey Zelenkov4-69/+60
2019-02-28Made QUERY_STRING mandatory.Valentin Bartenev1-1/+0
According to CGI/1.1 RFC 3875: The server MUST set this variable; if the Script-URI does not include a query component, the QUERY_STRING MUST be defined as an empty string (""). Python's PEP 333(3) allows omitting it in WSGI interface; PHP docs force no requirements; PSGI and Rack specifications require it even if empty. When nginx proxies requests over FastCGI, it always provides QUERY_STRING. and some PHP apps have been observed to fail if it is missing (see issue #201 on GitHub). A drawback of this change (besides a small overhead) is that there will be no easy way to tell a missing query string from an empty one (i.e. requests with or without the "?" character); yet, it's negligible compared to the possible benefits of wider application compatibility. This closes #226 issue on GitHub.
2019-02-28Introducing Java Servlet Container beta.Max Romanov41-0/+2171
2019-02-27Tests: "Host" header tests.Andrey Zelenkov2-0/+154
2019-02-27Tests: routing.Andrey Zelenkov1-0/+458
2019-02-27Tests: read_timeout option introduced.Andrey Zelenkov3-13/+16
Also, increased default select() timeout from 1s to 5s.
2019-02-27Tests: added "Host" and "Connetion" headers where necessary.Andrey Zelenkov10-99/+143
Also minor header organizing.
2019-02-27Perl: added processing for IO:Handle-like object.Alexander Borisov1-1/+0
The application can return the body as an IO:Handle-like object without file descriptor.
2019-02-20Tests: one more alert skipped in test_json_application_many.Andrey Zelenkov1-0/+1
2019-02-20Tests: skip sendmsg()/recvmsg() alerts for all tests.Andrey Zelenkov4-11/+2
Currently, these alerts may appear in the log when any application exits.
2019-02-20Tests: removed test_http_header_transfer_encoding_chunked.Andrey Zelenkov1-17/+0
2019-02-20Tests: JSON array allowed.Andrey Zelenkov1-1/+1
2019-02-20Tests: fixed ports range.Andrey Zelenkov1-2/+2
2019-02-18Rejecting requests with duplicate "Content-Length".Valentin Bartenev1-1/+0
2019-02-14Tests: added tests for "Content-Length" header.Andrey Zelenkov1-0/+46
2019-02-14Tests: headers with equal header fields allowed.Andrey Zelenkov1-1/+6
2019-02-14Tests: minor fixes.Andrey Zelenkov2-5/+3
2019-01-28Tests: large configuration tests.Andrey Zelenkov1-0/+47
2019-01-28Tests: added test for reading body from IO::Handle-like object.Andrey Zelenkov3-0/+58
2019-01-28Tests: removed blocking mode customization for sockets.Andrey Zelenkov1-5/+2
This customization was added in 0e12b17e512d and left unused. Also, set blocking mode by default for all sockets.
2018-12-25Tests: removed skipping Go tests on x86.Andrey Zelenkov1-6/+1
2018-12-25Tests: added delay to wait for error logging.Andrey Zelenkov1-0/+3
2018-12-25Tests: fixed test_tls_reconfigure.Andrey Zelenkov1-9/+11
Previously, order of applying TLS configuration and sending partial request to the application was uncertain. These changes make sure that client-application connection was established before reconfiguration. Additionally, added test to check that non-TLS connection works correctly after reconfiguration.
2018-12-25Tests: set TCP_NODELAY option by default.Andrey Zelenkov1-0/+3
2018-12-25Tests: test_node_application_write_before_writeHead reworked.Andrey Zelenkov2-2/+3
Added res.end() call in application and response status check. Also, renamed to test_node_application_write_before_write_head.
2018-12-25Tests: expectedFailure's removed from test_node_application.py.Andrey Zelenkov1-7/+0
Also removed alert skip in test_node_application_write_before_writeHead. Fixes committed in 1340e3539362, 1e008ef94f43, 5df32621af19, dae402cb243f and 41f561b3a178.
2018-12-24Tests: more QUERY_STRING tests.Andrey Zelenkov5-0/+88
2018-12-11Tests: more Node.js tests.Andrey Zelenkov11-2/+200
2018-11-28Tests: PHP directives "disable_classes" and "disable_functions".Andrey Zelenkov3-0/+118
2018-12-04Tests: fixed test_node_application_write_callback.Andrey Zelenkov2-3/+9
Fixed the write() callback order test. Also introduced a separate test to verify the callback call itself.
2018-10-25Tests: Node.js application tests.Sergey Kandaurov18-0/+342
2018-11-15Tests: class prefix made optional.Andrey Zelenkov1-2/+6
2018-11-15Tests: added command line arguments parsing in tests.Andrey Zelenkov15-17/+55
Added the following command line arguments: -d, --detailed: Show detailed output for tests Usage examples: ./test/run.py --detailed python3 test/test_access_log.py --detailed python3 test/test_access_log.py -d TestUnitAccessLog.test_access_log_ipv6 -l, --log: Save unit.log after the test execution Usage examples: ./test/run.py -l python3 test/test_access_log.py -l python3 test/test_access_log.py --log TestUnitAccessLog.test_access_log_ipv6
2018-11-13Tests: print path to unit.log file when it was saved.Andrey Zelenkov1-3/+14
2018-11-13Tests: leave unit.log in case of error or failure.Andrey Zelenkov1-1/+21
2018-10-18Tests: provide openssl.conf in test_tls_certificate_key_ec.Sergey Kandaurov1-0/+3
Previously, test failed if openssl was unable to load config info, or the system's openssl.cnf was picked up, which is wrong as well.
2018-10-09Renamed "go" application type to "external".Valentin Bartenev1-1/+1
There's nothing specific to Go language. This type of application object can be used to run any external application that utilizes libunit API.
2018-09-28Disabled chunked transfer encoding for 204 responses.Igor Sysoev1-1/+0
2018-09-20Tests: TLS tests.Andrey Zelenkov2-4/+505
2018-09-20Python: adjusted input.read(size) argument value interpretation.Valentin Bartenev1-1/+0
Previously, passing 0 resulted in reading the whole body and all negative values raised an exception. Now the behaviour is in consistentance with io.RawIOBase.read() interface, and passing 0 returns empty (byte) string, while -1 results in reading the whole body.
2018-09-17Tests: test_settings_header_read_timeout_update adjusted.Andrey Zelenkov1-4/+9
2018-09-06Tests: used relative path for configuration.Andrey Zelenkov11-126/+125
2018-09-04Tests: fixed test_settings_header_read_timeout_update.Andrey Zelenkov1-4/+7
2018-09-04Tests: "no_recv" option introduced.Andrey Zelenkov1-2/+5
2018-09-04Tests: "/config" prefix used.Andrey Zelenkov1-3/+12
2018-08-21Tests: more timeout tests.Andrey Zelenkov1-0/+51
2018-08-21Tests: typo.Andrey Zelenkov1-1/+1
2018-08-10Introducing app joint to accurate app release.Max Romanov1-1/+1
For accurate app descriptor release, it is required to count the number of use counts. Use count increased when: - app linked to configuration app queue; - socket conf stores pointer to app; - request for start app process posted to router service thread; Application port has pointer to app, but it does not increase use count to avoid use count loop. Timer needs a pointer to nxt_timer_t which is stored in engine timers tree. nxt_timer_t now resides in nxt_app_joint_t and does not lock the application. Start process port RPC handlers is also linked to nxt_app_joint_t. App joint (nxt_app_joint_t) is a 'weak pointer': - single threaded; - use countable; - store pointer to nxt_app_t (which can be NULL); nxt_app_t has pointer to nxt_app_joint_t and update its pointer to app.
2018-08-08Tests: simple "Transfer-Encoding" client header test.Andrey Zelenkov1-0/+17
2018-08-08Tests: more reconfigure tests.Andrey Zelenkov1-0/+53