Commit Graph

263 Commits

Author SHA1 Message Date
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