Remove two green threading tests
This commit is contained in:
parent
1fe8f22145
commit
f7594e14b8
2 changed files with 0 additions and 97 deletions
|
@ -1,49 +0,0 @@
|
||||||
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
|
|
||||||
// file at the top-level directory of this distribution and at
|
|
||||||
// http://rust-lang.org/COPYRIGHT.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
||||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
||||||
// option. This file may not be copied, modified, or distributed
|
|
||||||
// except according to those terms.
|
|
||||||
|
|
||||||
// This creates a bunch of descheduling tasks that run concurrently
|
|
||||||
// while holding onto C stacks
|
|
||||||
|
|
||||||
extern crate libc;
|
|
||||||
use std::thread::Thread;
|
|
||||||
|
|
||||||
mod rustrt {
|
|
||||||
extern crate libc;
|
|
||||||
|
|
||||||
#[link(name = "rust_test_helpers")]
|
|
||||||
extern {
|
|
||||||
pub fn rust_dbg_call(cb: extern "C" fn(libc::uintptr_t) -> libc::uintptr_t,
|
|
||||||
data: libc::uintptr_t)
|
|
||||||
-> libc::uintptr_t;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
|
|
||||||
if data == 1 {
|
|
||||||
data
|
|
||||||
} else {
|
|
||||||
Thread::yield_now();
|
|
||||||
count(data - 1) + count(data - 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn count(n: libc::uintptr_t) -> libc::uintptr_t {
|
|
||||||
unsafe {
|
|
||||||
rustrt::rust_dbg_call(cb, n)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn main() {
|
|
||||||
(0_usize..100).map(|_| {
|
|
||||||
Thread::scoped(move|| {
|
|
||||||
assert_eq!(count(5), 16);
|
|
||||||
})
|
|
||||||
}).collect::<Vec<_>>();
|
|
||||||
}
|
|
|
@ -1,48 +0,0 @@
|
||||||
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
|
|
||||||
// file at the top-level directory of this distribution and at
|
|
||||||
// http://rust-lang.org/COPYRIGHT.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
||||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
||||||
// option. This file may not be copied, modified, or distributed
|
|
||||||
// except according to those terms.
|
|
||||||
|
|
||||||
extern crate libc;
|
|
||||||
use std::thread::Thread;
|
|
||||||
|
|
||||||
mod rustrt {
|
|
||||||
extern crate libc;
|
|
||||||
|
|
||||||
#[link(name = "rust_test_helpers")]
|
|
||||||
extern {
|
|
||||||
pub fn rust_dbg_call(cb: extern "C" fn (libc::uintptr_t) -> libc::uintptr_t,
|
|
||||||
data: libc::uintptr_t)
|
|
||||||
-> libc::uintptr_t;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
|
|
||||||
if data == 1 {
|
|
||||||
data
|
|
||||||
} else {
|
|
||||||
count(data - 1) + count(data - 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn count(n: libc::uintptr_t) -> libc::uintptr_t {
|
|
||||||
unsafe {
|
|
||||||
Thread::yield_now();
|
|
||||||
rustrt::rust_dbg_call(cb, n)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn main() {
|
|
||||||
(0..10_usize).map(|i| {
|
|
||||||
Thread::scoped(move|| {
|
|
||||||
let result = count(5);
|
|
||||||
println!("result = {}", result);
|
|
||||||
assert_eq!(result, 16);
|
|
||||||
})
|
|
||||||
}).collect::<Vec<_>>();
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue