On Wed, Mar 16, 2011 at 5:38 PM, Antoine Bonavita (personal) email@example.com wrote:
Thanks a lot for your time and openness. I started thinking a little about all this and here are 3 suggestions which I'm willing to work on if you think they are worth it:
1 - Regarding the ability to chain multiple requests in requests, the only way I can think of is to make request and error_code/response_body/response_body_like/etc. potential arrays and adapt the code to handle arrays/strings. There is probably a lot of impact on the code but I cannot think of any other way.
I'm fine with this :)
2 - Regarding the restart of nginx, I had two ideas: 2.1 - Add a section (--- NO_RESTART). This is probably a very simple solution but it relies on the order tests are run, so I think it can be quite error-prone (especially if you shuffle tests and have different configs). 2.2 - Restart only when the config changes between two tests. This behavior can even be controlled by something like TEST_NGINX_FORCE_RESTART_ON_TEST which would happen to default to true (to preserve current behavior).
Option 2.2 is more attractive to me :)
3 - Regarding the documentation, I was thinking of improving the doc of Socket.pm by putting a small example next to each item (at least the ones I know, I could not figure out the syntax of skip_nginx and skip_nginx2). And maybe completely removing request_eval.
There's an example from ngx_drizzle's test suite for skip_nginx:
--- skip_nginx: 3: < 0.8.41
That is, skipping 3 subtests, if and only if the current nginx version number is strictly less than 0.8.41.
I'm not sure about the skip_nginx2 section for it was introduced by Piotr Sikora. Maybe Piotr is willing to comment on that? Piotr?
Let me know what you think.
I really appreciate your interest, time and contribution :)