[ANN] Test::Nginx 0.25 released
Yichun Zhang (agentzh)
agentzh at gmail.com
Thu Feb 25 07:59:19 UTC 2016
Hi guys,
I've just uploaded Test::Nginx 0.25 to CPAN:
https://metacpan.org/release/Test-Nginx
It will appear on the CPAN mirror near you in the next few hours or so.
Special thanks go to all our contributors and users :)
Here's the complete change log for this release (compared to the last
CPAN release, 0.24):
* feature: added the new test mdoule, Test::Nginx::Socket::Lua::Stream,
for testing stream-typed NGINX C modules like ngx_stream_echo_module
and ngx_stream_lua_module. Please see
https://metacpan.org/pod/Test::Nginx::Socket::Lua::Stream for more
details.
* feature: added new section "--- server_addr_for_client" to control
the value of server_addr for client. thanks Guanlan Dai for the patch.
* feature: added support for the TEST_NGINX_LOAD_MODULES
environment for loading dynamic NGINX modules in nginx.conf globally.
* feature: added support for ASAN by passing ASAN_OPTIONS environment
variable. thanks Markus Linnala for the patch.
* feature: Test::Nginx::Socket::Lua: added support for
the init_by_lua_block {} directive of ngx_http_lua_module.
* feature: avoided variations in the absolute line numbers of user
configurations so that the test cases can check nginx configuration
file line numbers deterministically.
* feature: implemented the env_to_nginx() Perl utility function as per
Rollin Crittendon's request. for example:
env_to_nginx('foo', 'bar=hello world')
* feature: now we pass the environment DYLD_FORCE_FLAT_NAMESPACE
to the nginx by default as well.
* feature: implemented the "--- todo" section for TODOing test blocks.
thanks Markus Linnala for the patch.
* feature: repeat_each() also returns the value even when it is used as
a setter.
* bugfix: testing could not continue properly when the "--- must_die"
subtest failed.
* bugfix: ARRAY-typed "--- more_headers" now work with ARRAY-typed
"--- request". thanks Kipras Mancevičius for the report.
* bugfix: fixed the perl warning "Use of uninitialized value $val in
concatenation" when "--- more_headers" has headers without values.
* bugfix: use SIGTERM to kill non-responsive nginx/valgrind processes
instead of SIGQUIT; otherwise the perl test process may hang forever
in valgrind testing mode.
* bugfix: only complain about failures of removing the nginx pid file
when it still exists.
* bugfix: we should bail out when `nginx -V` returns anything that we
cannot understand.
* bugfix: builtin udp server: fixed recv() call's error handling.
* bugfix: we did not expand environments TEST_NGINX_XXX in the
"--- main_config" and "--- post_main_config" data sections.
* bugfix: better error handling in the mocked UDP server.
* change: changed the default value of TEST_NGINX_SLEEP to 0.015 (sec).
thanks Dejiang Zhu for the patch.
* improvement: output the system error message when failing to remove
the nginx pid file.
* improvement: made the error_log test failure message clearer. thanks
Nick Muerdter for the patch.
* doc: fixed the module description of Test::Nginx and
Test::Nginx::Socket to reflect recent changes.
* doc: now we highly recommend Test::Nginx::Socket and its subclasses.
* doc: documentged the default timeout value used by the client. thanks
Nick Muerdter for the patch.
* doc: added a link to the official user guide in the book
"Programming OpenResty".
This Perl module provides a test scaffold based on IO::Socket
for automated testing in Nginx C module or ngx_lua-based Lua library
development.
This class inherits from Test::Base, thus bringing all its declarative
power to the NginxC module testing practices.
Please check out the full documentation on CPAN:
https://metacpan.org/pod/Test::Nginx::Socket
as well as the official user guide in the book "Programming OpenResty":
https://openresty.gitbooks.io/programming-openresty/content/testing/
All of our Nginx modules (as well as our lua-resty-* libraries) are
using Test::Nginx to drive their test suites. And it is also driving
my test cluster running on Amazon EC2:
http://qa.openresty.org
Please note that this module is completely different from the
Test::Nginx module created by Maxim Dounin.
The git repository for this Perl module is hosted on GitHub:
https://github.com/openresty/test-nginx
Have fun!
Best regards,
-agentzh
More information about the nginx-devel
mailing list