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
TestProcessArgs & bootstrap ()
Defined at line 48 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-zircon.h
zx::channel & bootstrap_sender ()
Defined at line 50 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-zircon.h
void Init (std::initializer_list<std::string_view> args, std::initializer_list<std::string_view> env)
Defined at line 114 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc
void Load (std::string_view executable_name)
Defined at line 120 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc
int64_t Run ()
Defined at line 203 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 58 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 288 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc
void ~LdStartupInProcessTests ()
Defined at line 211 of file ../../sdk/lib/ld/test/ld-startup-in-process-tests-posix.cc