diff options
| author | chansuke <chansuke@georepublic.de> | 2019-06-06 02:53:24 +0900 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-06-16 14:17:01 +0300 |
| commit | b8bc00772901fe19c381a636c3c1680d0363d62a (patch) | |
| tree | b90aad138f5d2fd3d63ec9deeb609ec9b077614b | |
| parent | b9266794dad230556cd1969f00dcd9e33d92f9d0 (diff) | |
| download | rust-b8bc00772901fe19c381a636c3c1680d0363d62a.tar.gz rust-b8bc00772901fe19c381a636c3c1680d0363d62a.zip | |
Separate librustc_metadata module
| -rw-r--r-- | src/librustc_metadata/dynamic_lib.rs | 50 | ||||
| -rw-r--r-- | src/librustc_metadata/dynamic_lib/tests.rs | 47 |
2 files changed, 48 insertions, 49 deletions
diff --git a/src/librustc_metadata/dynamic_lib.rs b/src/librustc_metadata/dynamic_lib.rs index 395270f5bb5..76a9a3405bd 100644 --- a/src/librustc_metadata/dynamic_lib.rs +++ b/src/librustc_metadata/dynamic_lib.rs @@ -74,55 +74,7 @@ impl DynamicLibrary { } #[cfg(test)] -mod tests { - use super::*; - use std::mem; - - #[test] - fn test_loading_atoi() { - if cfg!(windows) { - return - } - - // The C library does not need to be loaded since it is already linked in - let lib = match DynamicLibrary::open(None) { - Err(error) => panic!("Could not load self as module: {}", error), - Ok(lib) => lib - }; - - let atoi: extern fn(*const libc::c_char) -> libc::c_int = unsafe { - match lib.symbol("atoi") { - Err(error) => panic!("Could not load function atoi: {}", error), - Ok(atoi) => mem::transmute::<*mut u8, _>(atoi) - } - }; - - let argument = CString::new("1383428980").unwrap(); - let expected_result = 0x52757374; - let result = atoi(argument.as_ptr()); - if result != expected_result { - panic!("atoi({:?}) != {} but equaled {} instead", argument, - expected_result, result) - } - } - - #[test] - fn test_errors_do_not_crash() { - use std::path::Path; - - if !cfg!(unix) { - return - } - - // Open /dev/null as a library to get an error, and make sure - // that only causes an error, and not a crash. - let path = Path::new("/dev/null"); - match DynamicLibrary::open(Some(&path)) { - Err(_) => {} - Ok(_) => panic!("Successfully opened the empty library.") - } - } -} +mod tests; #[cfg(unix)] mod dl { diff --git a/src/librustc_metadata/dynamic_lib/tests.rs b/src/librustc_metadata/dynamic_lib/tests.rs new file mode 100644 index 00000000000..b2302f2f1b5 --- /dev/null +++ b/src/librustc_metadata/dynamic_lib/tests.rs @@ -0,0 +1,47 @@ +use super::*; +use std::mem; + +#[test] +fn test_loading_atoi() { + if cfg!(windows) { + return + } + + // The C library does not need to be loaded since it is already linked in + let lib = match DynamicLibrary::open(None) { + Err(error) => panic!("Could not load self as module: {}", error), + Ok(lib) => lib + }; + + let atoi: extern fn(*const libc::c_char) -> libc::c_int = unsafe { + match lib.symbol("atoi") { + Err(error) => panic!("Could not load function atoi: {}", error), + Ok(atoi) => mem::transmute::<*mut u8, _>(atoi) + } + }; + + let argument = CString::new("1383428980").unwrap(); + let expected_result = 0x52757374; + let result = atoi(argument.as_ptr()); + if result != expected_result { + panic!("atoi({:?}) != {} but equaled {} instead", argument, + expected_result, result) + } +} + +#[test] +fn test_errors_do_not_crash() { + use std::path::Path; + + if !cfg!(unix) { + return + } + + // Open /dev/null as a library to get an error, and make sure + // that only causes an error, and not a crash. + let path = Path::new("/dev/null"); + match DynamicLibrary::open(Some(&path)) { + Err(_) => {} + Ok(_) => panic!("Successfully opened the empty library.") + } +} |
