HomePhabricator

[Wilds] Tailor the behavior of some unit tests which `print_r($the_entire_world…

Description

[Wilds] Tailor the behavior of some unit tests which print_r($the_entire_world, true)

Summary:
Ref T13098. I've eventually made arc unit at least sort of run, but a few unit tests have an issue under the new code.

We have a couple of cases where we print_r($stack, true) or print_r($exception, true), which is effectively the same because exceptions include a stack. In one case, we search in the stack for values to make sure PhutilOpaqueEnvelope is really masking secrets. In another case, we just use print_r(...) to label test cases, but some test data is exceptions.

Under the new code, the arc unit stack has access to a much larger "world" via variables reachable in stack frames, since it's connected to all toolsets/workflows and those objects are more deeply interconnected. This makes the output from print_r($stack) enormous and slow (20+ seconds) because of all the recursive referencing of complex variables.

In the case where we're looking at the stack, just print the last couple frames. Also add some positive code that searches for a known value in the stack.

In the case where we're describing variables, just drop the code. We don't really need to label these test cases, the "expect" value is sufficiently clear on its own.

Test Plan: Later, ran arc unit and saw it finish in a reasonable amount of time instead of hanging forever on these tests.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13098

Differential Revision: https://secure.phabricator.com/D19709