Skip to content

Commit d3daf2f

Browse files
committed
remove linux tests from profiler
they were moved into nix_impl/profiler in previous commit Signed-off-by: Christian Jordan <[email protected]>
1 parent 1161cb4 commit d3daf2f

File tree

1 file changed

+0
-110
lines changed

1 file changed

+0
-110
lines changed

src/profiler.rs

Lines changed: 0 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -227,113 +227,3 @@ impl Profiler {
227227
if let Ok(()) = self.data.add(frames, 1) {}
228228
}
229229
}
230-
231-
#[cfg(test)]
232-
#[cfg(target_os = "linux")]
233-
mod tests {
234-
use super::*;
235-
236-
use std::cell::RefCell;
237-
use std::ffi::c_void;
238-
use std::ptr::null_mut;
239-
240-
#[cfg(not(target_env = "gnu"))]
241-
#[allow(clippy::wrong_self_convention)]
242-
#[allow(non_upper_case_globals)]
243-
static mut __malloc_hook: Option<extern "C" fn(size: usize) -> *mut c_void> = None;
244-
245-
extern "C" {
246-
#[cfg(target_env = "gnu")]
247-
static mut __malloc_hook: Option<extern "C" fn(size: usize) -> *mut c_void>;
248-
249-
fn malloc(size: usize) -> *mut c_void;
250-
}
251-
252-
thread_local! {
253-
static FLAG: RefCell<bool> = RefCell::new(false);
254-
}
255-
256-
extern "C" fn malloc_hook(size: usize) -> *mut c_void {
257-
unsafe {
258-
__malloc_hook = None;
259-
}
260-
261-
FLAG.with(|flag| {
262-
flag.replace(true);
263-
});
264-
let p = unsafe { malloc(size) };
265-
266-
unsafe {
267-
__malloc_hook = Some(malloc_hook);
268-
}
269-
270-
p
271-
}
272-
273-
#[inline(never)]
274-
fn is_prime_number(v: usize, prime_numbers: &[usize]) -> bool {
275-
if v < 10000 {
276-
let r = prime_numbers.binary_search(&v);
277-
return r.is_ok();
278-
}
279-
280-
for n in prime_numbers {
281-
if v % n == 0 {
282-
return false;
283-
}
284-
}
285-
286-
true
287-
}
288-
289-
#[inline(never)]
290-
fn prepare_prime_numbers() -> Vec<usize> {
291-
// bootstrap: Generate a prime table of 0..10000
292-
let mut prime_number_table: [bool; 10000] = [true; 10000];
293-
prime_number_table[0] = false;
294-
prime_number_table[1] = false;
295-
for i in 2..10000 {
296-
if prime_number_table[i] {
297-
let mut v = i * 2;
298-
while v < 10000 {
299-
prime_number_table[v] = false;
300-
v += i;
301-
}
302-
}
303-
}
304-
let mut prime_numbers = vec![];
305-
for (i, item) in prime_number_table.iter().enumerate().skip(2) {
306-
if *item {
307-
prime_numbers.push(i);
308-
}
309-
}
310-
prime_numbers
311-
}
312-
313-
#[cfg(target_os = "linux")]
314-
#[test]
315-
fn malloc_free() {
316-
trigger_lazy();
317-
318-
let prime_numbers = prepare_prime_numbers();
319-
320-
let mut _v = 0;
321-
322-
unsafe {
323-
__malloc_hook = Some(malloc_hook);
324-
}
325-
for i in 2..50000 {
326-
if is_prime_number(i, &prime_numbers) {
327-
_v += 1;
328-
perf_signal_handler(27, null_mut(), null_mut());
329-
}
330-
}
331-
unsafe {
332-
__malloc_hook = None;
333-
}
334-
335-
FLAG.with(|flag| {
336-
assert!(!*flag.borrow());
337-
});
338-
}
339-
}

0 commit comments

Comments
 (0)