Ignore static initializers, throw assumptions.
For classes that haven't built out Ravenwood support, they still may
be referenced in a way that causes their <clinit> to be invoked. This
can cause a cascade of trouble as we try constructing other classes
that aren't yet supported.
Instead, we take the path of "ignoring" these initializers for the
time being, treating them as no-op. This does leave `static final`
values as their defaults values (such as null), which feels
reasonable, as the remainder of the class would throw when used.
Additionally, pivot to throwing `AssumptionViolatedException` when
we encounter unsupported behavior. This has a nice side-effect of
allowing large numbers of existing tests to be executed under
Ravenwood as-is, where we can get an "unknown" signal today that
automatically turns "green" once all underlying infrastructure is
supported in the future.
Bug: 292141694
Test: atest-dev CtsUtilTestCasesRavenwood
Change-Id: Ia0a93f5e0af0b4c8c680daca1732c10c5fe404af
20 files changed