Updated global_only options to include the correct APACHE_CONFIG_OPTIONX directives.
Removed repeated tests for prioritize_critical_css basic functionality.
Added new tests, mostly downstream caching tests and related pagespeed.conf updates. Also added missing pagespeed.conf updates for downstream caching.
Added support for checking option scope.
Squash-merge of Jan's #608 and Otto's #611.
* r3726:
* Updated closure compiler flags for static JS files.
* r3729:
* Centralize parsing of FetchHttps in SystemRewriteOptions so ngx_pagespeed
can get it too.
* To keep the helpful error_message from SerfUrlAsyncFetcher, wire it through
RewriteOptions as a new-fangled error_detail.
* r3735:
* Follow-up changes for downstream caching integration with beaconing
dependent filters: If a downstream cache rebeaconing key is configured, we
should instrument the page only if the key present in the PS-ShouldBeacon
header matches the one in the configuration. This allows us to send no-cache
headers for anything that carries the right beaconing key, and continue to
send out the original cache control headers in other cases where downstream
caching is enabled.
* Native fetcher: fortify handling of content length (and absense).
* Native fetcher: fail when the stream terminates before having
completely parsed the headers.
* Tests: Rename `test_filter` -> `start_test` in ngx_system_test.sh for
a test.
* Tests: Move blockingrewrite key to the http {} block.
* Tests: Update localhost -> 127.0.0.1. The native fetcher uses
dns to resolve, and won't be able to retreive an ip for
localhost.
* Tests: Allow outstanding proxy fetches some time to finish
when running under valgrind, before terminating nginx.
* Valgrind: Add suppressions to make testing a release build pass.
This pull update was extra work because the valgrind and native fetcher flows
had rotted a bit. We need to make sure to test them with every update.
Includes minor additions to test only.
Trunk tracking updates to sync to PSOl r3677.
Trunk tracking update to sync to PSOL r3677
Includes minor additions to test only.
It doesn't make sense to fetch_until the uncombined URL and then
grep for combined one: you might just get entirely unoptimized
output and fail the test. Instead wait for the combining to happen,
and make sure it combined the right # of things.
This make it possible to build w/o disabling SSL, makes us need
less extra .a + .cc files, but does mean that APR can't be used
directly (since it got renamed), so just use PosixTimer where it was
used.
This makes nginx run in the background under valgrind,
with both a master and a child process.
Valgrind errors will be redirected to `valgrind.log`.
When `USE_VALGRIND` is set, all system tests will be run under valgrind,
and at the end a new test is appended which ensures no valgrind errors
where encountered.
It is also worth noting that:
- There is a new file, `valgrind.sup`, which contains a few suppressions.
- Some tests behave flakey under valgrind. For now these are appended
to the expected failures (when under valgrind only).
- 'Possibly lost' errors are all suppressed to get the amount of false
positives manageable.
The shared circular buffer wasn't hooked up fully, which meant loading
/ngx_pagespeed_messages didn't work. This fixes that and adds a test.
I also noticed while adding this that the 'Handling of large files' test
wasn't set up properly, so I converted that to use start_test.
Fixing that exposed another bug where the 'Handling of large files' test
was actually failing but being marked as an expected failure by being
grouped in with the test above. Adding `pagespeed MaxHtmlParseBytes 5000`
to the appropriate location made it test what it was supposed to be testing
again, and the underlying feature wasn't broken.