class LdStartupInProcessTests
Defined at line 32 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-zircon.h
On Fuchsia this means packing a message on the bootstrap channel. The entry
point receives the bootstrap channel (zx_handle_t) and the base address of
the vDSO.
Public Members
static basic_string_view kTestExecutableSuffix
Public Methods
void Init (std::initializer_list<std::string_view> args, std::initializer_list<std::string_view> env)
Defined at line 115 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc
void Load (std::string_view executable_name)
Defined at line 121 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc
int64_t Run ()
Defined at line 204 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc
void Load (std::string_view executable_name, std::optional<std::string_view> expected_config)
Defined at line 61 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-zircon.cc
void ExpectLog (std::string_view expected_log)
The loaded code is just writing to STDERR_FILENO in the same process.
There's no way to install e.g. a pipe end as STDERR_FILENO for the loaded
code without also hijacking stderr for the test harness itself, which seems
a bit dodgy even if the original file descriptor were saved and dup2'd back
after the test succeeds. In the long run, most cases where the real dynamic
linker would emit any diagnostics are when it would then crash the process,
so those cases will only get tested via spawning a new process, not
in-process tests.
Defined at line 289 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc
void ~LdStartupInProcessTests ()
Defined at line 212 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc
std::pair<int64_t, zx::channel> RunWithCustomBootstrap ()
Defined at line 110 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-zircon.cc