diff options
| author | Oli Scherer <github35764891676564198441@oli-obk.de> | 2025-09-13 07:09:16 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-13 07:09:16 +0000 |
| commit | 8ade141c46ea74b7988e48d26f83b2d24d60a991 (patch) | |
| tree | 2f810c44d18e82c7d160925dc49c157acbae9116 /library/std/src/sys/pal/unix/weak/tests.rs | |
| parent | fc7eb3c28d2be162dd32951811ce7852bb1a2f6a (diff) | |
| parent | 520e45a538a6c047c77785f09fdead3842b7b7ba (diff) | |
| download | rust-8ade141c46ea74b7988e48d26f83b2d24d60a991.tar.gz rust-8ade141c46ea74b7988e48d26f83b2d24d60a991.zip | |
Merge pull request #4584 from rust-lang/rustup-2025-09-13
Automatic Rustup
Diffstat (limited to 'library/std/src/sys/pal/unix/weak/tests.rs')
| -rw-r--r-- | library/std/src/sys/pal/unix/weak/tests.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/library/std/src/sys/pal/unix/weak/tests.rs b/library/std/src/sys/pal/unix/weak/tests.rs new file mode 100644 index 00000000000..d807ba64e35 --- /dev/null +++ b/library/std/src/sys/pal/unix/weak/tests.rs @@ -0,0 +1,32 @@ +use super::*; + +#[test] +fn dlsym_existing() { + const TEST_STRING: &'static CStr = c"Ferris!"; + + // Try to find a symbol that definitely exists. + dlsym! { + fn strlen(cs: *const c_char) -> usize; + } + + dlsym! { + #[link_name = "strlen"] + fn custom_name(cs: *const c_char) -> usize; + } + + let strlen = strlen.get().unwrap(); + assert_eq!(unsafe { strlen(TEST_STRING.as_ptr()) }, TEST_STRING.count_bytes()); + + let custom_name = custom_name.get().unwrap(); + assert_eq!(unsafe { custom_name(TEST_STRING.as_ptr()) }, TEST_STRING.count_bytes()); +} + +#[test] +fn dlsym_missing() { + // Try to find a symbol that definitely does not exist. + dlsym! { + fn test_symbol_that_does_not_exist() -> i32; + } + + assert!(test_symbol_that_does_not_exist.get().is_none()); +} |
