define a weak Test::RunTestsImpl() symbol to avoid link errors
Summary:
The test.cpp file uses `Test::RunTestsImpl()` but previously did not define
it. It is instead provided by a separate library at runtime. However, this
library itself depends on the library that contains test.cpp, causing a
circular dependency. This circular dependencies causes linking to fail
depending on the build mode that is used.
This fixes the circular dependency issue by making `test.cpp` provide a
default `Test::RunTestsImpl()` implementation, but defining it as a weak
symbol so that subsequent libraries can override it.
Reviewed By: markw65
Differential Revision:
D13790133
fbshipit-source-id:
2491a185178ae68514650ef599c276e9c1b6000c