Test fixes from the rollup

This commit is contained in:
Alex Crichton 2014-04-03 14:09:16 -07:00
parent 57e0908af3
commit 487fa9568b
3 changed files with 23 additions and 13 deletions

View File

@ -64,16 +64,16 @@ pub unsafe fn realloc_raw(ptr: *mut u8, size: uint) -> *mut u8 {
}
}
// The compiler never calls `exchange_free` on ~ZeroSizeType, so zero-size
// allocations can point to this `static`. It would be incorrect to use a null
// pointer, due to enums assuming types like unique pointers are never null.
static EMPTY: () = ();
/// The allocator for unique pointers without contained managed pointers.
#[cfg(not(test))]
#[lang="exchange_malloc"]
#[inline]
pub unsafe fn exchange_malloc(size: uint) -> *mut u8 {
// The compiler never calls `exchange_free` on ~ZeroSizeType, so zero-size
// allocations can point to this `static`. It would be incorrect to use a null
// pointer, due to enums assuming types like unique pointers are never null.
static EMPTY: () = ();
if size == 0 {
&EMPTY as *() as *mut u8
} else {

View File

@ -193,12 +193,12 @@ fn indices_are_correct() {
#[test]
fn pick_uniplatform() {
assert_eq!(Stdcall.for_arch(OsLinux, X86), Some(Stdcall));
assert_eq!(Stdcall.for_arch(OsLinux, Arm), None);
assert_eq!(System.for_arch(OsLinux, X86), Some(C));
assert_eq!(System.for_arch(OsWin32, X86), Some(Stdcall));
assert_eq!(System.for_arch(OsWin32, X86_64), Some(C));
assert_eq!(System.for_arch(OsWin32, Arm), Some(C));
assert_eq!(Stdcall.for_arch(OsWin32, X86), Some(Stdcall));
assert_eq!(Stdcall.for_arch(OsWin32, X86_64), Some(Stdcall));
assert_eq!(Stdcall.for_target(OsLinux, X86), Some(Stdcall));
assert_eq!(Stdcall.for_target(OsLinux, Arm), None);
assert_eq!(System.for_target(OsLinux, X86), Some(C));
assert_eq!(System.for_target(OsWin32, X86), Some(Stdcall));
assert_eq!(System.for_target(OsWin32, X86_64), Some(C));
assert_eq!(System.for_target(OsWin32, Arm), Some(C));
assert_eq!(Stdcall.for_target(OsWin32, X86), Some(Stdcall));
assert_eq!(Stdcall.for_target(OsWin32, X86_64), Some(Stdcall));
}

View File

@ -8,6 +8,11 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![no_start]
extern crate green;
extern crate rustuv;
use std::task::spawn;
use std::os;
use std::uint;
@ -15,6 +20,11 @@ use std::uint;
// Very simple spawn rate test. Spawn N tasks that do nothing and
// return.
#[start]
fn start(argc: int, argv: **u8) -> int {
green::start(argc, argv, rustuv::event_loop, main)
}
fn main() {
let args = os::args();