* 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.
We want to parse $additional_configure_args into an array the way the
shell would, which we're using eval for. But because we were missing
quotes whitespace was being stripped. Basically:
$ function lines() { for x in "$@"; do echo "$x"; done; }
$ lines a "b c" d
a
b c
d
$ a='a "b c" d'
$ eval e=($a)
$ eval f=("$a")
$ lines "${e[@]}"
a
b c
d
$ lines "${f[@]}"
a
b c
d
We were doing this like e when we should have been doing it like f.
* build_ngx_pagespeed: handle quoted arguments
If you enter --with-cc-opt='-arg1 -arg2' when the script asks for
additional arguments we want that to remain as one chunk all the way
through to being a single argument to ./configure
* 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
When there is no top-level configuration but only server configuration,
we don't have main options to set and consider. This prevents
a NULL dereference in that case. (Later on we'll writes out a message
about why we cannot startup with this configuration).