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