Mark tests as depending on backtrace-args
commiteb6f8f86b4a1539ce60880af67ae2a4efb3f89a9
authorShaunak Kishore <kshaunak@fb.com>
Fri, 22 Nov 2019 22:04:46 +0000 (22 14:04 -0800)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Fri, 22 Nov 2019 22:22:35 +0000 (22 14:22 -0800)
tree6e65af3755fb263d11353a9af2bc5dd87e985d38
parent690de535468b76278b1c261b0b9876aad96e93bc
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
116 files changed:
hphp/test/quick/debug_backtrace.php.opts
hphp/test/quick/debug_backtrace_continuation.php.opts [new file with mode: 0644]
hphp/test/quick/debug_backtrace_trait.php.opts [new file with mode: 0644]
hphp/test/quick/debugger/async_stack.php.opts [new file with mode: 0644]
hphp/test/quick/debugger/async_stack_traversal.php.opts [new file with mode: 0644]
hphp/test/quick/debugger/stack1.php.opts [new file with mode: 0644]
hphp/test/quick/debugger/where-serialize.php.opts [new file with mode: 0644]
hphp/test/quick/debugger/where-sleep.php.opts [new file with mode: 0644]
hphp/test/quick/exception_handler.php.opts
hphp/test/quick/fail_86pinit.php.opts
hphp/test/quick/fail_86sinit.php.opts
hphp/test/quick/include_backtrace.php.opts [new file with mode: 0644]
hphp/test/quick/profile/Setprofile.php.opts
hphp/test/quick/verify-param-type.php.opts [new file with mode: 0644]
hphp/test/run.php
hphp/test/slow/collection_classes/frozen_set/immutability1.php.opts [new file with mode: 0644]
hphp/test/slow/debug_backtrace/metadata_async_block.php.opts [new file with mode: 0644]
hphp/test/slow/debug_backtrace/metadata_obj.php.opts [new file with mode: 0644]
hphp/test/slow/dict/hhbbc-crash1.php.opts [new file with mode: 0644]
hphp/test/slow/dv_array/exceptions.php.opts
hphp/test/slow/dv_array_hack_arr/exceptions.php.opts
hphp/test/slow/exceptions/51.php.opts [new file with mode: 0644]
hphp/test/slow/exceptions/52.php.opts [new file with mode: 0644]
hphp/test/slow/exceptions/chain-fault.php.opts [new file with mode: 0644]
hphp/test/slow/exceptions/prepend_exception_trace.php.opts [new file with mode: 0644]
hphp/test/slow/ext_watchman/ext_watchman.php.opts
hphp/test/slow/finally/throw_through.php.opts [new file with mode: 0644]
hphp/test/slow/hack_arr_compat/array_key_cast_collection_null_key.php.opts
hphp/test/slow/intercept/prolog.php.opts
hphp/test/slow/pinit/pinit-throw.php.opts [new file with mode: 0644]
hphp/test/slow/reified_generics/backtrace-erasure.php.opts [new file with mode: 0644]
hphp/test/slow/reified_generics/backtrace-on-exit.php.opts
hphp/test/slow/reified_generics/backtrace.php.opts [new file with mode: 0644]
hphp/test/slow/reified_generics/too-few-args.php.opts [new file with mode: 0644]
hphp/test/slow/unpack_args/unpack_call_ref.php.opts [new file with mode: 0644]
hphp/test/slow/vec/hhbbc-crash1.php.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/access_modifiers_011.php.opts
hphp/test/zend/good/Zend/tests/arg_unpack/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/bug29210.php.opts
hphp/test/zend/good/Zend/tests/bug32290.php.opts
hphp/test/zend/good/Zend/tests/bug37138.php.opts
hphp/test/zend/good/Zend/tests/bug39542/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/bug45180.php.opts
hphp/test/zend/good/Zend/tests/bug45186.php.opts
hphp/test/zend/good/Zend/tests/bug45186_2.php.opts
hphp/test/zend/good/Zend/tests/bug45744.php.opts
hphp/test/zend/good/Zend/tests/bug46246.php.opts
hphp/test/zend/good/Zend/tests/bug48770_3.php.opts
hphp/test/zend/good/Zend/tests/bug48899.php.opts
hphp/test/zend/good/Zend/tests/bug50261.php.opts
hphp/test/zend/good/Zend/tests/bug54910.php.opts
hphp/test/zend/good/Zend/tests/bug55007.php.opts
hphp/test/zend/good/Zend/tests/bug67436/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/constants/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/generators/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/lsb_011.php.opts
hphp/test/zend/good/Zend/tests/lsb_012.php.opts
hphp/test/zend/good/Zend/tests/lsb_013.php.opts
hphp/test/zend/good/Zend/tests/lsb_021.php.opts
hphp/test/zend/good/Zend/tests/traits/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/use_const/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/use_function/config.opts [new file with mode: 0644]
hphp/test/zend/good/Zend/tests/variadic/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/bcmath/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/bz2/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/ctype/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/curl/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/date/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/dom/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/exif/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/fileinfo/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/filter/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/gd/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/gettext/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/gmp/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/hash/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/iconv/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/imap/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/intl/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/json/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/ldap/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/libxml/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/mbstring/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/mcrypt/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/mysql/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/odbc/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/openssl/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/pcntl/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/pcre/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/pdo/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/pdo_mysql/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/pdo_sqlite/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/posix/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/readline/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/reflection/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/shmop/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/simplexml/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/soap/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/sockets/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/spl/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/sqlite3/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/standard/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/xml/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/xmlreader/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/xmlwriter/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/xsl/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/zip/config.opts [new file with mode: 0644]
hphp/test/zend/good/ext/zlib/config.opts [new file with mode: 0644]
hphp/test/zend/good/tests/basic/config.opts [new file with mode: 0644]
hphp/test/zend/good/tests/classes/config.opts [new file with mode: 0644]
hphp/test/zend/good/tests/func/config.opts [new file with mode: 0644]
hphp/test/zend/good/tests/lang/config.opts [new file with mode: 0644]
hphp/test/zend/good/tests/output/config.opts [new file with mode: 0644]
hphp/test/zend/good/tests/run-test/config.opts [new file with mode: 0644]
hphp/test/zend/good/tests/strings/config.opts [new file with mode: 0644]