Skip to content

Commit

Permalink
gate xcoder tests behind target_os linux
Browse files Browse the repository at this point in the history
I'm looking forward to <rust-lang/cargo#6179>;
making an entire crate empty or not based on platform is an awkward
workaround.
  • Loading branch information
scottlamb committed Apr 16, 2024
1 parent f41a487 commit ec02b47
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 80 deletions.
83 changes: 43 additions & 40 deletions xcoder/xcoder-logan/xcoder-logan-310-sys/tests/logging.rs
Original file line number Diff line number Diff line change
@@ -1,49 +1,52 @@
use cstr::cstr;
use std::sync::Mutex;
#[cfg(target_os = "linux")]
mod linux {
use cstr::cstr;
use std::sync::Mutex;

use xcoder_logan_310_sys as sys;
use xcoder_logan_310_sys as sys;

#[derive(Debug, Eq, PartialEq)]
struct LogEntry {
level: log::Level,
message: String,
}
#[derive(Debug, Eq, PartialEq)]
struct LogEntry {
level: log::Level,
message: String,
}

#[derive(Default)]
struct MyLog(Mutex<Vec<LogEntry>>);
#[derive(Default)]
struct MyLog(Mutex<Vec<LogEntry>>);

impl log::Log for MyLog {
fn enabled(&self, _metadata: &log::Metadata) -> bool {
true
}
impl log::Log for MyLog {
fn enabled(&self, _metadata: &log::Metadata) -> bool {
true
}

fn log(&self, record: &log::Record) {
let mut l = self.0.lock().expect("not poisoned");
l.push(LogEntry {
level: record.level(),
message: record.args().to_string(),
})
}
fn log(&self, record: &log::Record) {
let mut l = self.0.lock().expect("not poisoned");
l.push(LogEntry {
level: record.level(),
message: record.args().to_string(),
})
}

fn flush(&self) {}
}
fn flush(&self) {}
}

#[test]
fn blah() {
let log = Box::leak(Box::<MyLog>::default());
log::set_logger(log).expect("installing logger should succeed");
log::set_max_level(log::LevelFilter::Info);
unsafe {
sys::setup_rust_netint_logging();
sys::ni_logan_log(sys::ni_log_level_t_NI_LOG_ERROR, cstr!("foo %s %d").as_ptr(), cstr!("bar").as_ptr(), 1234u32);
#[test]
fn blah() {
let log = Box::leak(Box::<MyLog>::default());
log::set_logger(log).expect("installing logger should succeed");
log::set_max_level(log::LevelFilter::Info);
unsafe {
sys::setup_rust_netint_logging();
sys::ni_logan_log(sys::ni_log_level_t_NI_LOG_ERROR, cstr!("foo %s %d").as_ptr(), cstr!("bar").as_ptr(), 1234u32);
}
let l = log.0.lock().expect("not poisoned");
assert_eq!(l.len(), 1);
assert_eq!(
&LogEntry {
level: log::Level::Error,
message: "foo bar 1234".to_owned(),
},
&l[0]
);
}
let l = log.0.lock().expect("not poisoned");
assert_eq!(l.len(), 1);
assert_eq!(
&LogEntry {
level: log::Level::Error,
message: "foo bar 1234".to_owned(),
},
&l[0]
);
}
83 changes: 43 additions & 40 deletions xcoder/xcoder-quadra/xcoder-quadra-sys/tests/logging.rs
Original file line number Diff line number Diff line change
@@ -1,49 +1,52 @@
use cstr::cstr;
use std::sync::Mutex;
#[cfg(target_os = "linux")]
mod linux {
use cstr::cstr;
use std::sync::Mutex;

use xcoder_quadra_sys as sys;
use xcoder_quadra_sys as sys;

#[derive(Debug, Eq, PartialEq)]
struct LogEntry {
level: log::Level,
message: String,
}
#[derive(Debug, Eq, PartialEq)]
struct LogEntry {
level: log::Level,
message: String,
}

#[derive(Default)]
struct MyLog(Mutex<Vec<LogEntry>>);
#[derive(Default)]
struct MyLog(Mutex<Vec<LogEntry>>);

impl log::Log for MyLog {
fn enabled(&self, _metadata: &log::Metadata) -> bool {
true
}
impl log::Log for MyLog {
fn enabled(&self, _metadata: &log::Metadata) -> bool {
true
}

fn log(&self, record: &log::Record) {
let mut l = self.0.lock().expect("not poisoned");
l.push(LogEntry {
level: record.level(),
message: record.args().to_string(),
})
}
fn log(&self, record: &log::Record) {
let mut l = self.0.lock().expect("not poisoned");
l.push(LogEntry {
level: record.level(),
message: record.args().to_string(),
})
}

fn flush(&self) {}
}
fn flush(&self) {}
}

#[test]
fn blah() {
let log = Box::leak(Box::<MyLog>::default());
log::set_logger(log).expect("installing logger should succeed");
log::set_max_level(log::LevelFilter::Info);
unsafe {
sys::setup_rust_netint_logging();
sys::ni_log(sys::ni_log_level_t_NI_LOG_ERROR, cstr!("foo %s %d").as_ptr(), cstr!("bar").as_ptr(), 1234u32);
#[test]
fn blah() {
let log = Box::leak(Box::<MyLog>::default());
log::set_logger(log).expect("installing logger should succeed");
log::set_max_level(log::LevelFilter::Info);
unsafe {
sys::setup_rust_netint_logging();
sys::ni_log(sys::ni_log_level_t_NI_LOG_ERROR, cstr!("foo %s %d").as_ptr(), cstr!("bar").as_ptr(), 1234u32);
}
let l = log.0.lock().expect("not poisoned");
assert_eq!(l.len(), 1);
assert_eq!(
&LogEntry {
level: log::Level::Error,
message: "foo bar 1234".to_owned(),
},
&l[0]
);
}
let l = log.0.lock().expect("not poisoned");
assert_eq!(l.len(), 1);
assert_eq!(
&LogEntry {
level: log::Level::Error,
message: "foo bar 1234".to_owned(),
},
&l[0]
);
}

0 comments on commit ec02b47

Please sign in to comment.