-// xfail-fast #7103 `extern mod` does not work on windows
+// xfail-fast #7103 `extern mod` does not work on check-fast
// xfail-pretty - does not converge
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+++ /dev/null
-// 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.
-
-// Test that we ignore modes when calling extern functions.
-// xfail-fast #9205
-
-#[deriving(Eq)]
-struct TwoU64s {
- one: u64, two: u64
-}
-
-extern {
- pub fn rust_dbg_extern_identity_TwoU64s(u: TwoU64s) -> TwoU64s;
-}
-
-pub fn main() {
- unsafe {
- let x = TwoU64s {one: 22, two: 23};
- let y = rust_dbg_extern_identity_TwoU64s(x);
- assert_eq!(x, y);
- }
-}
// Test a foreign function that accepts and returns a struct
// by value.
-// xfail-fast This works standalone on windows but not with check-fast.
-// possibly because there is another test that uses this extern fn but gives it
-// a different signature
-// xfail-fast #9205
+// xfail-win32 #9205
#[deriving(Eq)]
struct TwoU64s {
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast #9205
+// xfail-win32 #9205
struct TwoU64s {
one: u64, two: u64
--- /dev/null
+// Copyright 2012-2013 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.
+
+// Issue 4691: Ensure that functional-struct-updates operates
+// correctly and moves rather than copy when appropriate.
+
+use NC = std::util::NonCopyable;
+
+struct ncint { nc: NC, v: int }
+fn ncint(v: int) -> ncint { ncint { nc: NC, v: v } }
+
+struct NoFoo { copied: int, noncopy: ncint, }
+impl NoFoo {
+ fn new(x:int,y:int) -> NoFoo { NoFoo { copied: x, noncopy: ncint(y) } }
+}
+
+struct MoveFoo { copied: int, moved: ~int, }
+impl MoveFoo {
+ fn new(x:int,y:int) -> MoveFoo { MoveFoo { copied: x, moved: ~y } }
+}
+
+struct DropNoFoo { inner: NoFoo }
+impl DropNoFoo {
+ fn new(x:int,y:int) -> DropNoFoo { DropNoFoo { inner: NoFoo::new(x,y) } }
+}
+impl Drop for DropNoFoo { fn drop(&mut self) { } }
+
+struct DropMoveFoo { inner: MoveFoo }
+impl DropMoveFoo {
+ fn new(x:int,y:int) -> DropMoveFoo { DropMoveFoo { inner: MoveFoo::new(x,y) } }
+}
+impl Drop for DropMoveFoo { fn drop(&mut self) { } }
+
+
+fn test0() {
+ // just copy implicitly copyable fields from `f`, no moves
+ // (and thus it is okay that these are Drop; compare against
+ // compile-fail test: borrowck-struct-update-with-dtor.rs).
+
+ // Case 1: NonCopyable
+ let f = DropNoFoo::new(1, 2);
+ let b = DropNoFoo { inner: NoFoo { noncopy: ncint(3), ..f.inner }};
+ let c = DropNoFoo { inner: NoFoo { noncopy: ncint(4), ..f.inner }};
+ assert_eq!(f.inner.copied, 1);
+ assert_eq!(f.inner.noncopy.v, 2);
+
+ assert_eq!(b.inner.copied, 1);
+ assert_eq!(b.inner.noncopy.v, 3);
+
+ assert_eq!(c.inner.copied, 1);
+ assert_eq!(c.inner.noncopy.v, 4);
+
+ // Case 2: Owned
+ let f = DropMoveFoo::new(5, 6);
+ let b = DropMoveFoo { inner: MoveFoo { moved: ~7, ..f.inner }};
+ let c = DropMoveFoo { inner: MoveFoo { moved: ~8, ..f.inner }};
+ assert_eq!(f.inner.copied, 5);
+ assert_eq!(*f.inner.moved, 6);
+
+ assert_eq!(b.inner.copied, 5);
+ assert_eq!(*b.inner.moved, 7);
+
+ assert_eq!(c.inner.copied, 5);
+ assert_eq!(*c.inner.moved, 8);
+}
+
+fn test1() {
+ // copying move-by-default fields from `f`, so it moves:
+ let f = MoveFoo::new(11, 12);
+
+ let b = MoveFoo {moved: ~13, ..f};
+ let c = MoveFoo {copied: 14, ..f};
+ assert_eq!(b.copied, 11);
+ assert_eq!(*b.moved, 13);
+ assert_eq!(c.copied, 14);
+ assert_eq!(*c.moved, 12);
+}
+
+fn test2() {
+ // move non-copyable field
+ let f = NoFoo::new(21, 22);
+ let b = NoFoo {noncopy: ncint(23), ..f};
+ let c = NoFoo {copied: 24, ..f};
+ assert_eq!(b.copied, 21);
+ assert_eq!(b.noncopy.v, 23);
+ assert_eq!(c.copied, 24);
+ assert_eq!(c.noncopy.v, 22);
+}
+
+pub fn main() {
+ test0();
+ test1();
+ test2();
+}
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like 'extern mod extra'
+// xfail-fast check-fast doesn't like 'extern mod extra'
+// xfail-win32 TempDir may cause IoError on windows: #10462
extern mod extra;
// except according to those terms.
// aux-build:issue-4208-cc.rs
-// xfail-fast - Windows hates cross-crate tests
+// xfail-fast - check-fast hates cross-crate tests
extern mod numeric;
use numeric::{sin, Angle};
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like aux-build
+// xfail-fast check-fast doesn't like aux-build
// aux-build:issue-4545.rs
extern mod somelib(name = "issue-4545");
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like aux-build
+// xfail-fast check-fast doesn't like aux-build
// aux-build:issue-8044.rs
extern mod minimal(name= "issue-8044");
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like aux-build
+// xfail-fast check-fast doesn't like aux-build
// aux-build:issue_9123.rs
extern mod issue_9123;
// except according to those terms.
// aux-build:issue_9188.rs
-// xfail-fast windows doesn't like aux-build
+// xfail-fast check-fast doesn't like aux-build
extern mod issue_9188;
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like extern mod
+// xfail-fast check-fast doesn't like extern mod
// aux-build:issue-9906.rs
extern mod testmod(name = "issue-9906");
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like extern mod
+// xfail-fast check-fast doesn't like extern mod
// aux-build:issue-9968.rs
extern mod lib(name = "issue-9968");
// except according to those terms.
// aux-build:issue_9155.rs
-// xfail-fast windows doesn't like the aux-build
+// xfail-fast check-fast doesn't like the aux-build
extern mod issue_9155;
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-android: FIXME(#10379)
-
// aux-build:linkage-visibility.rs
-// xfail-fast windows doesn't like aux-build
+// xfail-fast check-fast doesn't like 'extern mod'
+// xfail-android: FIXME(#10379)
+// xfail-win32: std::unstable::dynamic_lib does not work on win32 well
extern mod foo(name = "linkage-visibility");
// except according to those terms.
// exec-env:RUST_LOG=std::ptr
-// xfail-fast this would cause everything to print forever on windows...
+// xfail-fast this would cause everything to print forever on check-fast...
// In issue #9487, it was realized that std::ptr was invoking the logging
// infrastructure, and when std::ptr was used during runtime initialization,
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like compile-flags
+// xfail-fast check-fast doesn't like compile-flags
// compile-flags: --cfg foo
#[feature(macro_rules)];
// except according to those terms.
// aux-build:reexport-should-still-link.rs
-// xfail-fast windows doesn't like extern mod
+// xfail-fast check-fast doesn't like extern mod
extern mod foo(name = "reexport-should-still-link");
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows uses a different test runner
+// xfail-fast make-check does not like `#[start]`
use std::rt;
// except according to those terms.
// xfail-test - FIXME(#8538) some kind of problem linking induced by extern "C" fns that I do not understand
-// xfail-fast - windows doesn't like this
+// xfail-fast - check-fast doesn't like this
// Smallest hello world with no runtime
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast #9205
+// xfail-win32 #9205
pub struct Quad { a: u64, b: u64, c: u64, d: u64 }
pub struct Floats { a: f64, b: u8, c: f64 }
+++ /dev/null
-// Copyright 2012-2013 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.
-
-// Issue 4691: Ensure that functional-struct-updates operates
-// correctly and moves rather than copy when appropriate.
-
-use NC = std::util::NonCopyable;
-
-struct ncint { nc: NC, v: int }
-fn ncint(v: int) -> ncint { ncint { nc: NC, v: v } }
-
-struct NoFoo { copied: int, noncopy: ncint, }
-impl NoFoo {
- fn new(x:int,y:int) -> NoFoo { NoFoo { copied: x, noncopy: ncint(y) } }
-}
-
-struct MoveFoo { copied: int, moved: ~int, }
-impl MoveFoo {
- fn new(x:int,y:int) -> MoveFoo { MoveFoo { copied: x, moved: ~y } }
-}
-
-struct DropNoFoo { inner: NoFoo }
-impl DropNoFoo {
- fn new(x:int,y:int) -> DropNoFoo { DropNoFoo { inner: NoFoo::new(x,y) } }
-}
-impl Drop for DropNoFoo { fn drop(&mut self) { } }
-
-struct DropMoveFoo { inner: MoveFoo }
-impl DropMoveFoo {
- fn new(x:int,y:int) -> DropMoveFoo { DropMoveFoo { inner: MoveFoo::new(x,y) } }
-}
-impl Drop for DropMoveFoo { fn drop(&mut self) { } }
-
-
-fn test0() {
- // just copy implicitly copyable fields from `f`, no moves
- // (and thus it is okay that these are Drop; compare against
- // compile-fail test: borrowck-struct-update-with-dtor.rs).
-
- // Case 1: NonCopyable
- let f = DropNoFoo::new(1, 2);
- let b = DropNoFoo { inner: NoFoo { noncopy: ncint(3), ..f.inner }};
- let c = DropNoFoo { inner: NoFoo { noncopy: ncint(4), ..f.inner }};
- assert_eq!(f.inner.copied, 1);
- assert_eq!(f.inner.noncopy.v, 2);
-
- assert_eq!(b.inner.copied, 1);
- assert_eq!(b.inner.noncopy.v, 3);
-
- assert_eq!(c.inner.copied, 1);
- assert_eq!(c.inner.noncopy.v, 4);
-
- // Case 2: Owned
- let f = DropMoveFoo::new(5, 6);
- let b = DropMoveFoo { inner: MoveFoo { moved: ~7, ..f.inner }};
- let c = DropMoveFoo { inner: MoveFoo { moved: ~8, ..f.inner }};
- assert_eq!(f.inner.copied, 5);
- assert_eq!(*f.inner.moved, 6);
-
- assert_eq!(b.inner.copied, 5);
- assert_eq!(*b.inner.moved, 7);
-
- assert_eq!(c.inner.copied, 5);
- assert_eq!(*c.inner.moved, 8);
-}
-
-fn test1() {
- // copying move-by-default fields from `f`, so it moves:
- let f = MoveFoo::new(11, 12);
-
- let b = MoveFoo {moved: ~13, ..f};
- let c = MoveFoo {copied: 14, ..f};
- assert_eq!(b.copied, 11);
- assert_eq!(*b.moved, 13);
- assert_eq!(c.copied, 14);
- assert_eq!(*c.moved, 12);
-}
-
-fn test2() {
- // move non-copyable field
- let f = NoFoo::new(21, 22);
- let b = NoFoo {noncopy: ncint(23), ..f};
- let c = NoFoo {copied: 24, ..f};
- assert_eq!(b.copied, 21);
- assert_eq!(b.noncopy.v, 23);
- assert_eq!(c.copied, 24);
- assert_eq!(c.noncopy.v, 22);
-}
-
-pub fn main() {
- test0();
- test1();
- test2();
-}
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like 'extern mod extra'
+// xfail-fast check-fast doesn't like 'extern mod'
+// xfail-win32 TempDir may cause IoError on windows: #10463
// These tests are here to exercise the functionality of the `tempfile` module.
// One might expect these tests to be located in that module, but sadly they
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like aux-build
+// xfail-fast check-fast doesn't like aux-build
// aux-build:typeid-intrinsic.rs
// aux-build:typeid-intrinsic2.rs
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast windows doesn't like aux-build
+// xfail-fast check-fast doesn't like aux-build
// aux-build:xcrate_address_insignificant.rs
extern mod foo(name = "xcrate_address_insignificant");