rust: move integration tests out of lib.rs

This commit is contained in:
joseLuís 2020-11-06 13:57:29 +01:00
parent c8316d75ae
commit a40cabb9d0
2 changed files with 49 additions and 54 deletions

View File

@ -36,57 +36,3 @@ pub use palette::*;
pub use pixel::*; pub use pixel::*;
pub use plane::*; pub use plane::*;
pub use visual::*; pub use visual::*;
// TODO: move tests out
#[cfg(test)]
mod tests {
use core::ptr::{null, null_mut};
use cstr_core::{CStr, CString};
use libc_print::*;
use serial_test::serial; // serialize tests w/ nc::notcurses_init()
use crate as nc;
#[test]
#[serial]
fn get_notcurses_version() {
let c_str = unsafe {
let s = nc::notcurses_version();
assert!(!s.is_null());
CStr::from_ptr(s)
};
let r_str = c_str.to_str().unwrap();
libc_println!("rust-bound notcurses v{}", r_str);
}
#[test]
#[serial]
fn create_notcurses_context() {
unsafe {
let _ = libc::setlocale(libc::LC_ALL, CString::new("").unwrap().as_ptr());
let opts = nc::notcurses_options {
loglevel: 0,
termtype: null(),
renderfp: null_mut(),
margin_t: 0,
margin_r: 0,
margin_b: 0,
margin_l: 0,
flags: (nc::NCOPTION_NO_ALTERNATE_SCREEN | nc::NCOPTION_INHIBIT_SETLOCALE) as u64,
};
let nc = nc::notcurses_init(&opts, null_mut());
nc::notcurses_stop(nc);
}
}
#[test]
#[serial]
fn create_direct_context() {
unsafe {
let _ = libc::setlocale(libc::LC_ALL, CString::new("").unwrap().as_ptr());
let nc = nc::ncdirect_init(null_mut(), null_mut(), 0);
nc::ncdirect_stop(nc);
}
}
}

49
rust/tests/notcurses.rs Normal file
View File

@ -0,0 +1,49 @@
use core::ptr::{null, null_mut};
use cstr_core::{CStr, CString};
use libc_print::*;
use serial_test::serial; // serialize tests w/ nc::notcurses_init()
use libnotcurses_sys as nc;
#[test]
#[serial]
fn get_notcurses_version() {
let c_str = unsafe {
let s = nc::notcurses_version();
assert!(!s.is_null());
CStr::from_ptr(s)
};
let r_str = c_str.to_str().unwrap();
libc_println!("rust-bound notcurses v{}", r_str);
}
#[test]
#[serial]
fn create_notcurses_context() {
unsafe {
let _ = libc::setlocale(libc::LC_ALL, CString::new("").unwrap().as_ptr());
let opts = nc::notcurses_options {
loglevel: 0,
termtype: null(),
renderfp: null_mut(),
margin_t: 0,
margin_r: 0,
margin_b: 0,
margin_l: 0,
flags: (nc::NCOPTION_NO_ALTERNATE_SCREEN | nc::NCOPTION_INHIBIT_SETLOCALE) as u64,
};
let nc = nc::notcurses_init(&opts, null_mut());
nc::notcurses_stop(nc);
}
}
#[test]
#[serial]
fn create_direct_context() {
unsafe {
let _ = libc::setlocale(libc::LC_ALL, CString::new("").unwrap().as_ptr());
let nc = nc::ncdirect_init(null_mut(), null_mut(), 0);
nc::ncdirect_stop(nc);
}
}