Skip to content

Commit 958189d

Browse files
committed
rustpkg: Add a list of rustpkg commands that should pass
This is a test file containing examples of commands that should succeed. When we write the test runner, we will have to figure out how to automate them.
1 parent e2d947d commit 958189d

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Commands that should succeed:
2+
3+
1. rustpkg install github.com/mozilla-servo/rust-http-client
4+
5+
2. Create a git repo containing a package "foo", add a tag called "1.0" -- `rustpkg install foo` should install a library called "libfoo-....-1.0..."
6+
7+
3. rustpkg install foo, if ./.rust/foo exists and is a valid package directory
8+
9+
4. RUST_PATH=/home/rust rustpkg install foo installs an executable in /home/rust/foo if ./foo exists and is a valid package directory
10+
11+
5. RUST_PATH=/home/rust:/home/more_rust rustpkg install foo succeeds if /home/more_rust/foo exists and is a valid package directory
12+
13+
6. rustpkg install foo; rustpkg install bar; rustpkg install quux; rustpkg list should show foo, bar, and quux
14+
6a. then, rustpkg remove foo; rustpkg list should show bar and quux, but not foo
15+
16+
7. Execute `rustpkg build foo`. Check the datestamp on build/foo. Execute the same command again. Make sure the datestamp hasn't changed.
17+
18+
8. Execute `rustpkg build foo` where foo has a dependency on bar, which hasn't been built before. Check the datestamps on build/foo and build/bar and make sure bar's datestamp is earlier than foo's.
19+
20+
9. Execute `rustpkg build foo` where foo has a dependency on bar, which hasn't been built before. Then, change one of the source files in bar. Execute `rustpkg build foo` again. Make sure, based on datestamps, that foo was really rebuilt.
21+
22+
10. Repeat test 9 in the case where the contents of the source file in bar change but its datestamp doesn't change.
23+
24+
11. If the current directory contains package directories for foo-0.1 and foo.0.2, `rustpkg install foo#0.1` installs foo#0.1 and doesn't install foo#0.2.
25+
26+
12. `rustpkg do fancy-pkg frob` succeeds if `fancy-pkg` has a package script that defines a custom build hook named `frob`.
27+
28+
13. `rustpkg info foo` prints out something about foo, if foo is installed.
29+
30+
14. (Not sure what prefer and unprefer do)
31+
32+
15. `rustpkg test foo` runs tests and prints their output, if foo contains #[test]s.
33+
34+
16. If foo is installed, `rustpkg uninstall foo; rustpkg list` doesn't include foo in the list
35+

0 commit comments

Comments
 (0)