Skip to content

Commit e6c3c37

Browse files
committed
rustpkg: Add a few tests
There's no test runner for rustpkg yet; just sketching out a few basic test scenarios. pass/ contains packages that should compile successfully, whereas fail/ contains packages that should fail to build.
1 parent c01c3d9 commit e6c3c37

File tree

11 files changed

+161
-0
lines changed

11 files changed

+161
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
/*
12+
The test runner should check that, after `rustpkg build hello-world`:
13+
* testsuite/hello-world/build/ exists
14+
* testsuite/hello-world/build/ contains an executable named hello-world
15+
* testsuite/hello-world/build/ does not contain a library
16+
*/
17+
18+
use core::io;
19+
20+
fn main() {
21+
io::println(~"Hello world!");
22+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
pub fn assert_true() {
2+
assert!(true);
3+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
/*
12+
The test runner should check that, after `rustpkg build fancy-lib`:
13+
* testsuite/fancy-lib/build/ exists
14+
* testsuite/fancy-lib/build/ contains a file called generated.rs
15+
* testsuite/fancy-lib/build/ contains a library named libfancy_lib
16+
* testsuite/fancy-lib/build/ does not contain an executable
17+
*
18+
*/
19+
20+
extern mod std;
21+
22+
pub mod foo;
23+
pub mod bar;
24+
#[path = "build/generated.rs"] pub mod generated;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
/*
12+
The test runner should check that, after `rustpkg build fancy-lib`:
13+
* testsuite/fancy-lib/build/ exists
14+
* testsuite/fancy-lib/build/ contains a file called generated.rs
15+
* testsuite/fancy-lib/build/ contains a library named libfancy_lib
16+
* testsuite/fancy-lib/build/ does not contain an executable
17+
*
18+
*/
19+
20+
extern mod std;
21+
22+
pub mod foo;
23+
pub mod bar;
24+
pub mod generated;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
pub fn do_nothing() {
2+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
pub fn main() {
12+
let cwd = os::getcwd();
13+
debug!("cwd = %s", cwd.to_str());
14+
let file = io::file_writer(&Path(~"fancy-lib/build/generated.rs"),
15+
[io::Create]).get();
16+
file.write_str("pub fn wheeeee() { for [1, 2, 3].each() |_| { assert!(true); } }");
17+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
/*
12+
The test runner should check that, after `rustpkg build hello-world`:
13+
* testsuite/hello-world/build/ exists
14+
* testsuite/hello-world/build/ contains an executable named hello-world
15+
* testsuite/hello-world/build/ does not contain a library
16+
*/
17+
18+
use core::io;
19+
20+
fn main() {
21+
io::println(~"Hello world!");
22+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
pub fn assert_true() {
2+
assert!(true);
3+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
pub fn do_nothing() {
2+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
/*
12+
The test runner should check that, after `rustpkg build simple-lib`:
13+
* testsuite/simple-lib/build/ exists
14+
* testsuite/simple-lib/build/ contains a library named libsimple_lib
15+
* testsuite/simple-lib/build/ does not contain an executable
16+
*/
17+
18+
extern mod std;
19+
20+
pub mod foo;
21+
pub mod bar;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
/*
12+
The test runner should check that, after `rustpkg build simple-lib`:
13+
* testsuite/simple-lib/build/ exists
14+
* testsuite/simple-lib/build/ contains a library named libsimple_lib
15+
* testsuite/simple-lib/build/ does not contain an executable
16+
*/
17+
18+
extern mod std;
19+
20+
pub mod foo;
21+
pub mod bar;

0 commit comments

Comments
 (0)