Commit graph

549 commits

Author SHA1 Message Date
Andrey Zelenkov
486b202cc1 Tests: default port number used. 2019-10-08 00:28:40 +03:00
Andrey Zelenkov
faf4ad5478 Tests: increased subprocess timeout on Unit exit.
Also changed order of subprocess status checks.
_terminate_process() method removed.
2019-10-08 00:28:40 +03:00
Andrey Zelenkov
d82f125368 Tests: fixed hanging of Go tests.
This closes #319 issue on GitHub.
2019-09-25 19:21:42 +03:00
Andrey Zelenkov
702ca2b853 Tests: static tests with file system objects. 2019-09-24 16:13:20 +03:00
Andrey Zelenkov
2503226729 Tests: serving static files. 2019-09-19 17:11:37 +03:00
Tiago de Bem Natel de Moura
c554941b4f Initial applications isolation support using Linux namespaces. 2019-09-19 15:25:23 +03:00
Andrey Zelenkov
26fcb46137 Tests: added read_buffer_size option in http(). 2019-09-18 00:25:57 +03:00
Andrey Zelenkov
23215c839f Tests: head() method introduced. 2019-09-17 21:15:15 +03:00
Valentin Bartenev
6352c21a58 HTTP parser: fixed parsing of target after literal space character.
In theory, all space characters in request target must be encoded; however,
some clients may violate the specification.  For the sake of interoperability,
Unit supports unencoded space characters.

Previously, if there was a space character before the extension or arguments
parts, those parts weren't recognized.  Also, quoted symbols and complex
target weren't detected after a space character.
2019-09-17 18:40:21 +03:00
Andrey Zelenkov
b5394c3956 Tests: fixed features check. 2019-09-16 17:49:49 +03:00
Andrey Zelenkov
65ca2d7b19 Tests: refactored prerequisites model. 2019-09-14 14:44:35 +03:00
Andrey Zelenkov
962cdb6659 Tests: prepare_env() introduced. 2019-09-16 15:37:32 +03:00
Andrey Zelenkov
13ecbe333a Tests: style and minor fixes in java.py. 2019-09-16 15:37:32 +03:00
Andrey Zelenkov
a5b9c9241e Tests: more comments. 2019-09-16 15:37:32 +03:00
Andrey Zelenkov
7152162886 Tests: set default "unsafe" value. 2019-09-16 15:37:32 +03:00
Andrey Zelenkov
f10a8a03a1 Tests: Java websockets tests. 2019-09-05 15:30:09 +03:00
Max Romanov
2b8cab1e24 Java: introducing websocket support. 2019-09-05 15:27:32 +03:00
Andrey Zelenkov
3e23afb0d2 Tests: increased read_timeout for websockets tests. 2019-09-03 21:23:32 +03:00
Andrey Zelenkov
1cfd329b3d Tests: fixed recv_bytes() in websockets.py. 2019-09-02 18:03:33 +03:00
Andrey Zelenkov
790b4f8f00 Tests: removed duplicate websocket tests. 2019-09-02 18:03:17 +03:00
Andrey Zelenkov
70e808040d Tests: prevented writing non-chopped frames to the closed socket. 2019-09-02 14:55:00 +03:00
Andrey Zelenkov
cb36616132 Tests: prevented writing to the closed socket for websocket tests. 2019-08-30 16:59:35 +03:00
Andrey Zelenkov
ccd6c0dc05 Tests: websockets style fixes. 2019-08-30 15:37:44 +03:00
Andrey Zelenkov
c47af243b0 Tests: removed keepalive_interval for websocket tests.
Also increased read_timeout in frame_read() for slow hosts.
2019-08-22 21:28:03 +03:00
Andrey Zelenkov
72b56388b7 Tests: Node.js websockets tests tuned. 2019-08-22 18:28:23 +03:00
Andrey Zelenkov
9bbf54e23e Tests: Node.js websockets. 2019-08-22 15:33:41 +03:00
Andrey Zelenkov
08601bbbf0 Tests: "--unsafe" option introduced. 2019-08-22 15:26:15 +03:00
Andrey Zelenkov
b4c09e2954 Tests: reverted rerun for Java tests in 5e429a7f133c.
Each testcase should also recompile to be recompiled.
So backed out for now.
2019-08-21 14:24:23 +03:00
Andrey Zelenkov
4d7576d323 Tests: print decoded strings in detailed mode, if possible. 2019-08-14 16:26:47 +03:00
Andrey Zelenkov
ac316ff7a5 Tests: fixed port reusing to avoid access issues. 2019-08-14 15:53:58 +03:00
Max Romanov
4bef4256c0 Java: implementing multipart message support.
This closes #265 issue on GitHub.
2019-08-14 15:24:41 +03:00
Andrey Zelenkov
8904c87c6b Tests: goftm used for Go applications. 2019-08-14 14:06:28 +03:00
Andrey Zelenkov
b3b7013eda Tests: added tests for deleting listeners and applications objects. 2019-08-14 14:06:22 +03:00
Andrey Zelenkov
78fbf9ee60 Tests: fixed modules version parsing. 2019-08-08 15:47:26 +03:00
Andrey Zelenkov
e8d1c760d6 Tests: Java multipart test. 2019-08-07 14:43:38 +03:00
Andrey Zelenkov
c8c259b972 Tests: rerun tests for each module version.
Rerun supported for Python, PHP, Perl, Ruby, and Java modules.
2019-08-06 18:25:13 +03:00
Valentin Bartenev
7fd9444728 Node.js: returning "this" from writeHead() to allow chaining.
In Node.js version 11.10.0 and later, the writeHead() function returns "this".
2019-08-06 16:24:11 +03:00
Andrey Zelenkov
fdf570f1d9 Tests: added delay before SIGQUIT in access_log partial tests.
This change is necessary to avoid race between
client connection close and Unit close.

Also "read_timeout" value decreased to speed up tests.
2019-08-01 18:15:00 +03:00
Axel Duch
7785c96c1a Added routing based on request scheme.
Scheme matches exact string “http” or “https”.
2019-07-24 13:47:35 +03:00
Andrey Zelenkov
b1165d2edc Tests: fixed test_java_conf_error to pass with "--modules=" option. 2019-07-23 14:58:27 +03:00
Andrey Zelenkov
a920215a5c Tests: more Java tests.
Added test with war file and error configuration test.
2019-07-17 17:48:35 +03:00
Andrey Zelenkov
4153fad89d Tests: added PHP tests with "script" and "index" options. 2019-07-17 16:50:24 +03:00
Andrey Zelenkov
ce1fbd9273 Tests: simplified one route case configuration.
No functional changes.
2019-07-14 23:49:45 +03:00
Andrey Zelenkov
b097476824 Tests: TestApplicationTLS.openssl_conf() introduced. 2019-07-14 23:49:37 +03:00
Andrey Zelenkov
72e987e110 Tests: check application configuration loading in TLS tests. 2019-07-14 23:49:31 +03:00
Andrey Zelenkov
ff5413f109 Tests: removed unnecessary initialization.
That could leads to the incorrect behaviour in test_tls_application_respawn.
2019-07-14 23:47:49 +03:00
Andrey Zelenkov
ee1f0365d2 Tests: removed unused import. 2019-07-14 23:47:07 +03:00
Andrey Zelenkov
d7516e5f4e Tests: made openssl certificates more strong to avoid errors. 2019-07-08 20:46:06 +03:00
Andrey Zelenkov
4ea7d71405 Tests: added PATH_INFO variable test. 2019-07-08 19:23:33 +03:00
Valentin Bartenev
924165c90b PHP: improved response status code handling.
There's no reason to parse "http_status_line"; the PHP interpreter already
does this.  If the line contains a valid status code, it's assigned to
"http_response_code".

This also fixes invalid status line handling, where the nxt_int_parse()
function returned -1; it was cast to unsigned, yielding response code 65535.
2019-07-05 18:42:30 +03:00
Andrey Zelenkov
bcb9048c46 Tests: adjusted inactive interval in Java app for slow hosts. 2019-07-02 16:44:08 +03:00
Andrey Zelenkov
29225c4fc6 Tests: removed misleading comments in test_routing.t. 2019-07-02 15:36:13 +03:00
Igor Sysoev
1f8c395fc0 Cookie-based routing should be case-sensitive. 2019-06-10 18:47:35 +03:00
Andrey Zelenkov
7927c20b3b Tests: routing "cookies" tests. 2019-05-30 16:47:39 +03:00
Andrey Zelenkov
c0ed2c02ab Tests: routing "arguments" tests. 2019-05-30 16:47:39 +03:00
Andrey Zelenkov
89bf008880 Tests: routing "headers" tests. 2019-05-30 16:47:39 +03:00
Andrey Zelenkov
67772cd3e9 Tests: fixed tests without "Host" header. 2019-05-30 16:47:39 +03:00
Andrey Zelenkov
90c5d3f5c0 Tests: adjusted skipping tests. 2019-05-30 16:46:04 +03:00
Andrey Zelenkov
7ad4a76704 Tests: configure arrays with PUT tests. 2019-05-30 16:44:14 +03:00
Andrey Zelenkov
c4ed3025b3 Tests: more routing tests with arrays. 2019-04-26 17:35:32 +03:00
Andrey Zelenkov
2ceee3471e Tests: TestControl.conf_post() introduced. 2019-04-26 17:35:32 +03:00
Andrey Zelenkov
bc4a1d86b9 Tests: TestControl refactored. 2019-04-26 17:35:31 +03:00
Andrey Zelenkov
644e6df687 Tests: check application configuration loading. 2019-04-26 17:35:26 +03:00
Andrey Zelenkov
7a559c6568 Tests: using blocking for large output. 2019-04-22 18:52:46 +03:00
Andrey Zelenkov
5d15d8449d Tests: read_timeout increased for incomplete requests.
Also fixed test without \"Host\" header.
2019-04-22 18:52:35 +03:00
Andrey Zelenkov
1c56579ebd Tests: fixed naming. 2019-04-22 18:37:46 +03:00
Valentin Bartenev
c1a3b06d03 Tests: using "pass" option instead of deprecated "application". 2019-04-22 18:20:53 +03:00
Andrey Zelenkov
0c12afbf6a Tests: using low-case header names in Node.js tests. 2019-04-18 19:27:12 +03:00
Andrey Zelenkov
704529e4b1 Tests: more wildcard pattern tests for routing. 2019-04-15 16:08:53 +03:00
Andrey Zelenkov
b3179538ef Tests: wait more time on Unit closing. 2019-04-15 15:52:32 +03:00
Andrey Zelenkov
0f8a602c3c Tests: added time to handle requests in access_log partial tests. 2019-04-15 15:52:32 +03:00
Andrey Zelenkov
ac7e65a722 Tests: check unitd availability before start. 2019-04-09 20:59:41 +03:00
Andrey Zelenkov
dfb625789b Tests: read_timeout increased. 2019-04-09 20:59:41 +03:00
Andrey Zelenkov
29b4e4431f Tests: speed up tests. 2019-04-09 20:59:35 +03:00
Andrey Zelenkov
549f0873c2 Tests: wait_for_record() introduced. 2019-04-09 16:14:42 +03:00
Andrey Zelenkov
cfcf4da7fa Tests: added "name" argument for search_in_log(). 2019-04-09 16:14:42 +03:00
Andrey Zelenkov
8c7411415a Tests: style. 2019-04-09 16:14:42 +03:00
Andrey Zelenkov
af24e4dec4 Tests: simplified module checking. 2019-04-09 16:14:42 +03:00
Andrey Zelenkov
19eba1730a Tests: unit module refactoring. 2019-03-28 18:43:13 +03:00
Andrey Zelenkov
06b9a11494 Tests: speed up Java tests. 2019-03-26 23:39:15 +03:00
Andrey Zelenkov
281899fcef Tests: style. 2019-03-26 23:38:30 +03:00
Max Romanov
b96e5fd848 Turning off port read event state after main process fork.
Master port stores two file descriptors and works as a read port on the master
process side.  After a fork, the port switches into write mode and the read
socket closes, but the same event structure is used for the write socket.
However, the inherited structure remained in read state, telling the epoll
engine to use MOD operation instead of ADD.  The patch resets read event
state, so the engine may write using proper ADD operation.
2019-03-25 14:49:28 +03:00
Max Romanov
452ce0789e Adjusting request schema value according to connection tls state.
This closes #223 issue on GitHub.
2019-03-21 13:55:57 +03:00
Max Romanov
e1c4568680 Introducing one more large config test, but without sockets. 2019-03-05 15:38:52 +03:00
Andrey Zelenkov
ea844a4444 Tests: skip more alerts. 2019-03-01 18:58:16 +03:00
Andrey Zelenkov
ae36276cfc Tests: made tests compatible with PHP 5.3. 2019-03-01 18:58:16 +03:00
Andrey Zelenkov
754b85c3ee Tests: Perl streaming body and delayed response simple tests. 2019-03-01 17:13:51 +03:00
Alexander Borisov
3b2c1d0eaa Perl: added implementation delayed response and streaming body. 2019-03-01 16:50:25 +03:00
Andrey Zelenkov
c1751f9de6 Tests: specify ssl_version option.
TLS is explicitly selected to prevent using of SSL protocol
in ssl.get_server_certificate() call for Python 3.4 and older.
2019-02-28 21:19:32 +03:00
Andrey Zelenkov
38ea191fbb Tests: fixed PHP "disable_functions" and "disable_classes" tests. 2019-02-28 21:18:33 +03:00
Valentin Bartenev
a5dd0f8aa9 Made QUERY_STRING mandatory.
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-28 20:20:41 +03:00
Max Romanov
5bfdebb9e4 Introducing Java Servlet Container beta. 2019-02-28 18:02:42 +03:00
Andrey Zelenkov
4b92586530 Tests: "Host" header tests. 2019-02-27 20:41:30 +03:00
Andrey Zelenkov
8488666d60 Tests: routing. 2019-02-27 19:46:27 +03:00
Andrey Zelenkov
bd77c9a4d2 Tests: read_timeout option introduced.
Also, increased default select() timeout from 1s to 5s.
2019-02-27 19:43:14 +03:00
Andrey Zelenkov
4de2c8b567 Tests: added "Host" and "Connetion" headers where necessary.
Also minor header organizing.
2019-02-27 19:15:02 +03:00
Alexander Borisov
379e4c75fd Perl: added processing for IO:Handle-like object.
The application can return the body as an IO:Handle-like object
without file descriptor.
2019-02-27 17:27:41 +03:00
Andrey Zelenkov
499096a55a Tests: one more alert skipped in test_json_application_many. 2019-02-20 20:46:23 +03:00
Andrey Zelenkov
955050aea3 Tests: skip sendmsg()/recvmsg() alerts for all tests.
Currently, these alerts may appear in the log when any application exits.
2019-02-20 20:28:29 +03:00
Andrey Zelenkov
09fb847cc7 Tests: removed test_http_header_transfer_encoding_chunked. 2019-02-20 20:24:05 +03:00
Andrey Zelenkov
b2ca342902 Tests: JSON array allowed. 2019-02-20 20:20:02 +03:00
Andrey Zelenkov
ac10bf8c7b Tests: fixed ports range. 2019-02-20 20:19:55 +03:00
Valentin Bartenev
2a6b54c230 Rejecting requests with duplicate "Content-Length". 2019-02-18 16:51:30 +03:00
Andrey Zelenkov
ab40732c08 Tests: added tests for "Content-Length" header. 2019-02-14 16:09:58 +03:00
Andrey Zelenkov
0e5aaf60d4 Tests: headers with equal header fields allowed. 2019-02-14 16:09:54 +03:00
Andrey Zelenkov
7ce9f61cb6 Tests: minor fixes. 2019-02-14 16:09:19 +03:00
Andrey Zelenkov
d60fbc6d44 Tests: large configuration tests. 2019-01-28 17:17:23 +03:00
Andrey Zelenkov
7dddfe2143 Tests: added test for reading body from IO::Handle-like object. 2019-01-28 17:16:50 +03:00
Andrey Zelenkov
eced6bc972 Tests: removed blocking mode customization for sockets.
This customization was added in 0e12b17e512d and left unused.
Also, set blocking mode by default for all sockets.
2019-01-28 15:11:50 +03:00
Andrey Zelenkov
17068d2cdc Tests: removed skipping Go tests on x86. 2018-12-25 21:28:02 +03:00
Andrey Zelenkov
5964413066 Tests: added delay to wait for error logging. 2018-12-25 17:22:32 +03:00
Andrey Zelenkov
4ccf0c8a17 Tests: fixed test_tls_reconfigure.
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-25 16:35:35 +03:00
Andrey Zelenkov
f5b7fee128 Tests: set TCP_NODELAY option by default. 2018-12-25 16:35:35 +03:00
Andrey Zelenkov
d625691ff4 Tests: test_node_application_write_before_writeHead reworked.
Added res.end() call in application and response status check.
Also, renamed to test_node_application_write_before_write_head.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov
f57e729a11 Tests: expectedFailure's removed from test_node_application.py.
Also removed alert skip in test_node_application_write_before_writeHead.

Fixes committed in 1340e3539362, 1e008ef94f43, 5df32621af19, dae402cb243f
and 41f561b3a178.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov
f9a3328a25 Tests: more QUERY_STRING tests. 2018-12-24 20:35:18 +03:00
Andrey Zelenkov
aafa4bbaf9 Tests: more Node.js tests. 2018-12-11 18:30:58 +03:00
Andrey Zelenkov
37cd6d23b6 Tests: PHP directives "disable_classes" and "disable_functions". 2018-11-28 03:14:38 +03:00
Andrey Zelenkov
2ef5011236 Tests: fixed test_node_application_write_callback.
Fixed the write() callback order test.
Also introduced a separate test to verify the callback call itself.
2018-12-04 19:05:10 +03:00
Sergey Kandaurov
0fdc7c3a55 Tests: Node.js application tests. 2018-10-25 15:43:48 +03:00
Andrey Zelenkov
41d3d63758 Tests: class prefix made optional. 2018-11-15 21:26:15 +03:00
Andrey Zelenkov
eff760bd2b Tests: added command line arguments parsing in tests.
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-15 21:26:15 +03:00
Andrey Zelenkov
cf1f84b67c Tests: print path to unit.log file when it was saved. 2018-11-13 18:56:18 +03:00
Andrey Zelenkov
4d7f708b25 Tests: leave unit.log in case of error or failure. 2018-11-13 18:51:55 +03:00
Sergey Kandaurov
3061e8333d Tests: provide openssl.conf in test_tls_certificate_key_ec.
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-18 18:46:21 +03:00
Valentin Bartenev
029c1a9f50 Renamed "go" application type to "external".
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-10-09 17:53:31 +03:00
Igor Sysoev
b5d4fc939e Disabled chunked transfer encoding for 204 responses. 2018-09-28 17:32:02 +03:00
Andrey Zelenkov
d0e428aace Tests: TLS tests. 2018-09-20 16:34:34 +03:00
Valentin Bartenev
510c2e15c5 Python: adjusted input.read(size) argument value interpretation.
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-20 16:04:49 +03:00
Andrey Zelenkov
8065ba84aa Tests: test_settings_header_read_timeout_update adjusted. 2018-09-17 19:07:29 +03:00
Andrey Zelenkov
511a0fa760 Tests: used relative path for configuration. 2018-09-06 20:18:33 +03:00
Andrey Zelenkov
58d23eb5b4 Tests: fixed test_settings_header_read_timeout_update. 2018-09-04 02:30:27 +03:00
Andrey Zelenkov
9f5349d347 Tests: "no_recv" option introduced. 2018-09-04 02:30:27 +03:00
Andrey Zelenkov
6bebbe3e8a Tests: "/config" prefix used. 2018-09-04 02:30:27 +03:00
Andrey Zelenkov
dea7e0dc87 Tests: more timeout tests. 2018-08-21 20:49:23 +03:00
Andrey Zelenkov
a4e75be524 Tests: typo. 2018-08-21 20:41:36 +03:00
Max Romanov
86740ab34b Introducing app joint to accurate app release.
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-10 19:27:13 +03:00
Andrey Zelenkov
6c0c3dcaa7 Tests: simple "Transfer-Encoding" client header test. 2018-08-08 15:36:30 +03:00
Andrey Zelenkov
eee6102a28 Tests: more reconfigure tests. 2018-08-08 15:30:05 +03:00
Andrey Zelenkov
09268676ef Tests: remove unused function.
This function was accidentally added in e0f0cd7d244a.
2018-08-06 19:40:37 +03:00
Max Romanov
b021188e95 Python: decoding unicode strings as Latin1.
According to PEP 3333, header names and values should be decoded as Latin1.
2018-08-06 19:16:45 +03:00
Max Romanov
1bb22d1e92 Unit application library.
Library now used in all language modules.
Old 'nxt_app_*' code removed.

See src/test/nxt_unit_app_test.c for usage sample.
2018-08-06 17:27:33 +03:00
Andrey Zelenkov
b6ce2da65c Tests: expectedFailure removed from test_settings_idle_timeout.
Fix committed in f04b28aa6e02.
2018-07-30 20:07:31 +03:00
Andrey Zelenkov
7f57b6d984 Tests: fixed test_settings_idle_timeout. 2018-07-30 17:01:14 +03:00
Andrey Zelenkov
a458f50d59 Tests: fixed header value char tests.
Use byte strings to avoid problems with encoding.
2018-07-30 16:40:52 +03:00
Andrey Zelenkov
cfe91315eb Tests: HTTP settings. 2018-07-13 20:15:50 +03:00
Andrey Zelenkov
96a4f9f032 Tests: more php.ini options tests. 2018-07-11 19:35:46 +03:00
Andrey Zelenkov
223ba37ab5 Tests: more chars in header values tests. 2018-07-11 19:35:36 +03:00
Andrey Zelenkov
b82954a5af Tests: empty configuration. 2018-07-11 19:35:23 +03:00
Andrey Zelenkov
f2a856aa3b Tests: Go application tests. 2018-06-08 18:32:55 +03:00
Andrey Zelenkov
2b39ed5dfb Tests: added tests for "precision" option in php.ini. 2018-06-07 21:13:55 +03:00
Andrey Zelenkov
857bddeea6 Tests: added keep-alive with reconfiguration test. 2018-05-30 19:29:40 +03:00
Andrey Zelenkov
569a907dbb Tests: configuration of environment variables. 2018-05-29 15:29:01 +03:00
Andrey Zelenkov
3b7238996a Tests: initial PHP application tests. 2018-05-22 20:20:14 +03:00
Andrey Zelenkov
7d224bfc9e Tests: added tests for SERVER_SOFTWARE variable. 2018-05-21 16:41:33 +03:00
Andrey Zelenkov
d9f8479375 Tests: response handling improved. 2018-04-26 17:37:24 +03:00
Andrey Zelenkov
a44d358f29 Tests: added test for callable write() in Python. 2018-04-26 17:37:24 +03:00
Andrey Zelenkov
0658f9bd71 Tests: added access log test with unix socket. 2018-04-23 15:26:52 +03:00
Andrey Zelenkov
b6226d6945 Tests: added delay to wait for requests logging. 2018-04-23 15:26:46 +03:00
Andrey Zelenkov
f264adeae9 Tests: removed alert skips after b6ca49c1da1b. 2018-04-23 15:15:09 +03:00
Andrey Zelenkov
961e8d800f Tests: re-opening access log file. 2018-04-18 16:02:43 +03:00
Andrey Zelenkov
3e2326cff1 Tests: graceful shutdown. 2018-04-18 16:02:37 +03:00
Andrey Zelenkov
62aa3a5dae Tests: access_log tests. 2018-04-11 18:34:11 +03:00
Andrey Zelenkov
f6c3ef7ed3 Tests: added Python test with not iterable object. 2018-04-05 17:55:06 +03:00
Andrey Zelenkov
43ba7aad6c Tests: fixed unwanted comment in a11b80dedc6b. 2018-04-04 15:33:11 +03:00
Andrey Zelenkov
151160c110 Tests: Perl script with syntax error. 2018-04-02 19:20:11 +03:00
Andrey Zelenkov
1583d659ab Tests: change alert skip in test_listeners_empty after RPC fixes. 2018-04-02 18:37:45 +03:00
Andrey Zelenkov
a01a98ce36 Tests: more Python tests. 2018-04-02 17:03:41 +03:00
Andrey Zelenkov
efb71121b9 Tests: added Python test with iterator context. 2018-04-02 17:03:41 +03:00
Andrey Zelenkov
2028f3a04b Tests: use "%Z" directive while parsing Date header. 2018-04-02 15:50:05 +03:00
Andrey Zelenkov
c7e67446a3 Tests: Ruby module. 2018-03-21 18:26:40 +03:00
Andrey Zelenkov
82bb66993e Tests: more Perl tests. 2018-03-19 19:03:31 +03:00
Andrey Zelenkov
f0df93ee3b Tests: HTTP header field and value tests. 2018-03-16 17:45:25 +03:00
Valentin Bartenev
bebc5845f8 Capitalization in the "Server" field. 2018-03-13 20:32:47 +03:00
Andrey Zelenkov
30a32c2f09 Tests: detect alerts and Sanitizer errors. 2018-03-06 16:58:47 +03:00
Andrey Zelenkov
6aa00fa8d0 Tests: more configuration tests. 2018-02-26 20:18:24 +03:00
Andrey Zelenkov
a89747e97c Tests: more perl tests. 2018-02-26 19:53:40 +03:00
Andrey Zelenkov
6d79c559b5 Tests: handle ConnectionRefusedError in TestUnitHTTP.http(). 2018-02-20 20:34:46 +03:00
Andrey Zelenkov
09f2009df5 Tests: reworked python tests with application. 2018-02-20 20:34:41 +03:00
Andrey Zelenkov
ee39da0e00 Tests: removed unused code in unit.py. 2018-02-14 17:14:16 +03:00
Andrey Zelenkov
e2c3fa6304 Tests: perl module. 2018-02-12 19:32:54 +03:00
Valentin Bartenev
9646772a00 HTTP: the Date response header. 2018-02-12 16:58:40 +03:00
Andrey Zelenkov
0d032c1036 Tests: expectedFailure removed from test_python_keepalive.py.
Fix committed in 28a2b93de75f.
2018-02-08 16:29:37 +03:00
Andrey Zelenkov
b4e467e669 Fixed configuration checks for "max" property. 2018-02-06 20:31:48 +03:00
Andrey Zelenkov
5c35d30cc8 Tests: more tests for processes. 2018-02-06 20:31:48 +03:00
Andrey Zelenkov
993f8f2d5c Tests: changed process counting in test_python_procman.py. 2018-02-06 20:31:42 +03:00
Andrey Zelenkov
ff9fa11cd9 Tests: minor fixes in test_python_procman.py. 2018-02-06 20:17:09 +03:00
Andrey Zelenkov
91dc1303f5 Tests: added "Connection: close" header for default requests. 2018-02-05 15:39:23 +03:00
Andrey Zelenkov
0379f927b3 Tests: simplified test for query string. 2018-02-05 15:39:16 +03:00
Andrey Zelenkov
3faa154223 Tests: adjusted check_version()'s. 2018-02-05 15:39:11 +03:00
Max Romanov
9cd4fdbdb7 Introducing extended app process management.
- Pre-fork 'processes.spare' application processes;
- fork more processes to keep 'processes.spare' idle processes;
- fork on-demand up to 'processes.max' count;
- scale down idle application processes above 'processes.spare' after
  'processes.idle_timeout';
- number of concurrently started application processes also limited by
  'processes.spare' (or 1, if spare is 0).
2018-01-29 16:17:36 +03:00
Andrey Zelenkov
a36babddef Tests: added keep-alive test. 2018-01-30 16:17:08 +03:00
Andrey Zelenkov
afa0fd9a71 Tests: reworked TestUnitHTTP. 2018-01-30 16:17:01 +03:00
Andrey Zelenkov
9f48f2b3e7 Tests: added methods to manage unit configuration. 2018-01-30 16:16:52 +03:00
Andrey Zelenkov
f115cb7032 Tests: small fixes. 2018-01-30 16:16:42 +03:00
Andrey Zelenkov
cb80be00a5 Tests: fixed test for listener without port.
Broken after 879868522dbf.
2018-01-30 16:16:26 +03:00
Andrey Zelenkov
4b19848e4e Tests: ignore unexpected successes in return code. 2018-01-24 16:37:56 +03:00
Andrey Zelenkov
17e1a19063 Tests: added test for QUERY_STRING variable. 2018-01-24 15:45:39 +03:00
Andrey Zelenkov
955ba9d7dd Tests: added test with "Transfer-Encoding" header in 204 response. 2018-01-24 15:43:36 +03:00
Andrey Zelenkov
331514fcf7 Tests: using "expectedFailure" decorator instead of assertTry(). 2018-01-24 15:43:04 +03:00
Andrey Zelenkov
a949c2f088 Tests: using LF line ending for test files. 2018-01-17 15:52:01 +03:00
Andrey Zelenkov
819b43fc2d Tests: use "data" parameter in Request() to send body. 2018-01-15 19:59:47 +03:00
Andrey Zelenkov
263741fb44 Tests: style. 2018-01-15 19:57:28 +03:00
Andrey Zelenkov
4c1c614099 Tests: exit with runner result. 2018-01-15 17:51:54 +03:00
Andrey Zelenkov
d229549101 Tests: fixed arguments order in getattr() call. 2018-01-15 17:50:10 +03:00
Andrey Zelenkov
43e36d91e5 Tests: added test for 'atexit'. 2018-01-15 16:06:33 +03:00
Andrey Zelenkov
b217a1e058 Tests: simple python application. 2018-01-15 16:06:26 +03:00
Andrey Zelenkov
b12f1ea42d Tests: assertTry() function introduced. 2018-01-15 15:57:32 +03:00
Andrey Zelenkov
75af52fd65 Tests: check_version() function introduced. 2018-01-15 15:00:44 +03:00
Andrey Zelenkov
470948a0d6 Tests: style. 2018-01-10 20:35:22 +03:00
Andrey Zelenkov
8546d6d499 Tests: --no-daemon option used for unit. 2018-01-10 19:43:44 +03:00
Andrey Zelenkov
138727ec46 Tests: remove temporary folder when module not found. 2018-01-10 19:41:53 +03:00
Andrey Zelenkov
b680e944d6 Tests: removed unused decorators. 2017-12-13 15:26:32 +03:00
Andrey Zelenkov
d2bf066b1c Tests: http() function introduced. 2017-12-13 15:23:32 +03:00
Andrey Zelenkov
f7c386ece3 Tests: fixed "negative workers" test. 2017-12-12 18:54:27 +03:00
Andrey Zelenkov
3b6d3151f1 Tests: added basic PHP tests. 2017-12-06 15:36:05 +03:00
Andrey Zelenkov
7ae5bef233 Tests: check_modules() function introduced. 2017-12-06 15:35:28 +03:00
Andrey Zelenkov
79b1d4f5ff Tests: port range changed to 7xxx. 2017-12-06 15:34:58 +03:00
Andrey Zelenkov
078d44ea71 Tests: removed extra parameter from range() call. 2017-12-06 15:34:06 +03:00
Andrey Zelenkov
487253754c Tests: waitforfiles() optimization. 2017-12-06 15:33:45 +03:00
Andrey Zelenkov
782fa1118d Tests: don't exceed 79 characters. 2017-12-06 15:32:09 +03:00
Andrey Zelenkov
ec4ad8780e Tests: "verbose" mode introduced. 2017-11-29 15:23:22 +03:00
Andrey Zelenkov
75198f82b1 Tests: waitforfiles function introduced. 2017-11-29 15:23:09 +03:00
Andrey Zelenkov
4d772a9cd0 Tests: fixed port number in test_basic.t. 2017-11-28 21:59:31 +03:00
Andrey Zelenkov
cf09ca655a Tests: changed shebang to the default. 2017-11-28 16:06:14 +03:00
Andrey Zelenkov
863377441b Tests: added basic infrastructure. 2017-11-21 20:51:21 +03:00
Andrey Zelenkov
78a77c3e38 Tests: move existing tests to "src" folder. 2017-11-21 18:55:28 +03:00
Valentin Bartenev
096562c0b1 Improved applications versions handling. 2017-10-05 16:46:18 +03:00
Sergey Kandaurov
d57ec94a3f Initialized task in utf8 unit test, fixes segfault in debug build. 2017-09-04 17:32:29 +03:00
Igor Sysoev
cdc7e4479f Lib unit tests have been renamed to tests. 2017-08-30 00:31:02 +03:00
Valentin Bartenev
6e444a7959 Removed unused structure. 2017-08-22 17:37:58 +03:00
Ruslan Ermilov
ca3b1b898a Restored arc4random unit test after 59fc46dd5e1d. 2017-07-14 20:37:28 +03:00
Valentin Bartenev
accb489492 HTTP parser: reduced memory consumption of header fields list. 2017-06-20 22:32:13 +03:00
Igor Sysoev
1a22195830 Fixed errors in the previous changeset. 2017-06-20 19:59:12 +03:00
Igor Sysoev
f888a5310c Using new memory pool implementation. 2017-06-20 19:49:17 +03:00
Igor Sysoev
b1b9f621a4 Memory pools refactoring. 2017-06-19 16:26:19 +03:00
Valentin Bartenev
db6642f374 HTTP parser: decoupled header fields processing. 2017-06-13 20:11:29 +03:00
Valentin Bartenev
f6e7c2b6a6 HTTP parser: fixed handling header fields with missing colon. 2017-06-09 21:49:51 +03:00
Max Romanov
952ec2e0ff Fixed building test on Solaris 2017-05-12 20:41:34 +03:00
Valentin Bartenev
9d16e1808b Added one more missing "fall through" comment in tests. 2017-05-10 19:26:56 +03:00
Igor Sysoev
aa047be6b9 Zero size memory pool allocations have been disabled in unit test
becuase they are handled incorrectly with the -DNXT_DEBUG_MEMORY=1
option.
2017-03-14 19:00:32 +03:00
Igor Sysoev
612c083579 Fixed unit tests building broken by the previous commit. 2017-03-14 15:09:17 +03:00
Valentin Bartenev
c69e4fb11a HTTP parser benchmark. 2017-03-08 00:28:26 +03:00
Valentin Bartenev
c624c9ea64 Cleanup of memory allocated in nxt_mem_cache_pool_unit_test().
Leak sanitizer is happy now.
2017-03-06 22:23:34 +03:00
Valentin Bartenev
4df646a258 HTTP parser. 2017-03-01 15:29:18 +03:00
Igor Sysoev
029942f4eb I/O operations refactoring. 2017-02-22 15:09:59 +03:00
Igor Sysoev
6e67bee0f4 nxt_str_t changes. 2017-02-01 19:20:07 +03:00
Igor Sysoev
952291c93c Importing rbtree changes from nJScript. 2017-01-30 12:14:49 +03:00
Igor Sysoev
16cbf3c076 Initial version. 2017-01-17 20:00:00 +03:00