Mark tests as depending on backtrace-args
Summary:
We'd like to allow for moves out of function parameters. However, if EnableArgsInBacktraces is set, we'll include parameters in exceptions and in the result of debug_backtrace. Many tests depend on these arguments being present.
The correct behavior is to mark all function parameters as being used whenever this flag is on an an opcode may throw an exception. However, if we just make this change, we'll reduce coverage for HHBBC DCE optimizations greatly. Since these optimizations are enabled in typical production configurations, that's undesirable. Not testing EnableArgsInBacktraces is also undesirable, as it can catch bugs (e.g. double-frees). Instead, I opted to do the following (thanks Mark Williams for the suggestion):
- Turn off EnableArgsInBacktraces in tests by default
- Enable it for any tests that currently depend on args in backtraces
- Enable it for all tests in the zend directory (by adding new config.opts flags at the directory level)
This change is a test-config-only change - see the next diff in the stack for logical changes (that will pass the tests with the updated config)
Reviewed By: markw65, jjgriego
Differential Revision:
D18647153
fbshipit-source-id:
147f9c675cb59ff1cdb38c7b96ac32762859d424