Skip to content

Commit e3d0580

Browse files
committed
---
yaml --- r: 82951 b: refs/heads/auto c: c05fbc5 h: refs/heads/master i: 82949: 2b72a50 82947: 1ba0de1 82943: de24268 v: v3
1 parent 481ed5a commit e3d0580

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1909
-428
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1313
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1414
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1515
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
16-
refs/heads/auto: 23176fc567086715aab062a24e2b68e1f54ce5ba
16+
refs/heads/auto: c05fbc5a2cb72c2c81b9259b3a3ff28a1c3810b0
1717
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1818
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1919
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/doc/rust.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1775,6 +1775,7 @@ Supported traits for `deriving` are:
17751775
`obj.to_str()` has similar output as `fmt!("%?", obj)`, but it differs in that
17761776
each constituent field of the type must also implement `ToStr` and will have
17771777
`field.to_str()` invoked to build up the result.
1778+
* `FromPrimitive`, to create an instance from a numeric primitve.
17781779

17791780
### Stability
17801781
One can indicate the stability of an API using the following attributes:

branches/auto/doc/tutorial-rustpkg.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,54 @@ note: Installed package github.com/YOUR_USERNAME/hello-0.1 to /home/yourusername
206206

207207
That's it!
208208

209+
# Testing your Package
210+
211+
Testing your package is simple as well. First, let's change `src/hello/lib.rs` to contain
212+
a function that can be sensibly tested:
213+
214+
~~~
215+
#[desc = "A Rust package for determining whether unsigned integers are even."];
216+
#[license = "MIT"];
217+
218+
pub fn is_even(i: uint) -> bool {
219+
i % 2 == 0
220+
}
221+
~~~
222+
223+
Once you've edited `lib.rs`, you can create a second crate file, `src/hello/test.rs`,
224+
to put tests in:
225+
226+
~~~
227+
#[license = "MIT"];
228+
extern mod hello;
229+
use hello::is_even;
230+
231+
#[test]
232+
fn test_is_even() {
233+
assert!(is_even(0));
234+
assert!(!is_even(1));
235+
assert!(is_even(2));
236+
}
237+
~~~
238+
239+
Note that you have to import the crate you just created in `lib.rs` with the
240+
`extern mod hello` directive. That's because you're putting the tests in a different
241+
crate from the main library that you created.
242+
243+
Now, you can use the `rustpkg test` command to build this test crate (and anything else
244+
it depends on) and run the tests, all in one step:
245+
246+
~~~ {.notrust}
247+
$ rustpkg test hello
248+
WARNING: The Rust package manager is experimental and may be unstable
249+
note: Installed package hello-0.1 to /Users/tjc/.rust
250+
251+
running 1 test
252+
test test_is_even ... ok
253+
254+
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
255+
~~~
256+
209257
# More resources
210258

211259
There's a lot more going on with `rustpkg`, this is just to get you started.

0 commit comments

Comments
 (0)