Eventually we'll convert remote_config_system_test.sh and nginx_system_test.sh
to use run_test, but until then when TEST_TO_RUN is specified we should skip
the tests in those files and just run system/system_test.sh
* adds support for `--psol-from-source` so you don't need binary modules, and `--devel` so you can run our tests without going and getting all our dependencies
* adds submodules for testing: mod_pagespeed, ngx_cache_purge etc
* adds support for running as:
```
git clone git@github.com:pagespeed/ngx_pagespeed.git
cd ngx_pagespeed/
git checkout <branch>
scripts/build_ngx_pagespeed.sh [options]
```
* depends on the scripts @hillsp is working on so that we can just check out mod_pagespeed and ask it to build and rebuild itself
* adds colors to output to make it easier to read
Right now run_tests.sh assumes it has 8053 and 9991 without causing any
problems. Start assuming we have 8050 and 8051 as well instead of
requiring people to pass them in.
* Add default setting for whether to test with a controller port.
* Use RUN_CONTROLLER_TEST, which will actually be defaulted in
system/system_test.sh. Comment out the controller port configuration
in the default nginx template.
* Finish up the conditionalization of the babysitter tests.
* Run the reload tests even with the controller off.
* clean up the diffs a little.
After calling ngx_http_filter_finalize_request return NGX_DONE
as we are still in pre-access phase. This bug shows up when the
"special" response is generated from, for example, php as opposed
to a static file.
Second part of the fix for
https://github.com/pagespeed/ngx_pagespeed/issues/1146
This change makes ngx_pagespeed listen to the FollowFlushes option.
When set to on (=default), ngx_pagespeed will forward incoming flushes
to ProxyFetch. When writing output, we'll now also set the flush flag on
the buffers we are about to send downstream.
Companion to mps commit: https://github.com/pagespeed/mod_pagespeed/commit/02de03e825bbd1f8d4ad4e1a1bef5263a16f3857
* Pass the install-path into Makefile, rather than having the Makefile
depend on PWD.
* Move the double-quotes be before the value, to be consistent with other
Makefiles.
Instead, use a new (not-yet-committed) target in Makefile.tests to build
a mirror htdocs in test/tmp/root that sym-links the large readonly
section and deep copies the test areas for purge and flush tests.
Apparently, when running in emacs and piped into another command, ps limits
it's output to COLUMNS making check_process_names fail. Telling ps to use
wide, wide output with 'ww' fixes this.
Additionally, use check_from so that if this test does fail we can debug
it better, seeing what grep was looking at.
The report from some time ago mentioned three Vary: headers,
but I can now only reproduce two using trunk-tracking plus the
original repro-configuration.
This fix unflags r->gzip_vary as set by the gzip module when PSOL
hands us Vary: Accept-Encoding, to make sure that nginx's core
header filter doesn't append another one.
Fixes https://github.com/pagespeed/ngx_pagespeed/issues/1064
- Fix nginx-side flow so we handle .pagespeed. resources ok
when they will land on a customized 404 internal location.
- Additionally, check for a wiped request context and make sure
we do not dereference a null pointer, which is what hurt in
the flow we entered above as the IPRO lookup still was
generating events while the nginx side request context was
gone.
- Also, as a preliminary measure, do not check fail when we
receive a stale event originating from a NgxBaseFetch that
is no longer associated with our request context.
Do log a warning so we'll hear about this happening either
through system test failures or a bug report.
Fixes https://github.com/pagespeed/ngx_pagespeed/issues/1081
- Add handling for header only responses
- Fixup nginx i/o handling
- Fix issues in parser state
- Revert timeout for native fetcher dns resolve to 10 seconds
- Ignore warning that gets logged with this change in tests during
fetching from a host that refuses connections.
Should help stabilizing (valgrind) test runs some more.
Nginx sometimes receives an expected response from 8.8.8.8 when
resolving host names, and the subsequent retry doesn't finish up
in 10 seconds. Bumping the timeout helps, but does not fully
explain why nginx is sometimes receiving an unexpected response.
I'll create a separate issue for investigating that.
After sending a SIGHUP, wait for the new worker process with the
new configuration to handle further requests, or else the tests
running after that might get confused when the new worker becomes
active with fresh shared mem statistics and shared mem cache.