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.
This commit is contained in:
Tim Chevalier 2013-04-17 18:59:32 -07:00
parent e2d947d72f
commit 958189dba1

View file

@ -0,0 +1,35 @@
Commands that should succeed:
1. rustpkg install github.com/mozilla-servo/rust-http-client
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..."
3. rustpkg install foo, if ./.rust/foo exists and is a valid package directory
4. RUST_PATH=/home/rust rustpkg install foo installs an executable in /home/rust/foo if ./foo exists and is a valid package directory
5. RUST_PATH=/home/rust:/home/more_rust rustpkg install foo succeeds if /home/more_rust/foo exists and is a valid package directory
6. rustpkg install foo; rustpkg install bar; rustpkg install quux; rustpkg list should show foo, bar, and quux
6a. then, rustpkg remove foo; rustpkg list should show bar and quux, but not foo
7. Execute `rustpkg build foo`. Check the datestamp on build/foo. Execute the same command again. Make sure the datestamp hasn't changed.
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.
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.
10. Repeat test 9 in the case where the contents of the source file in bar change but its datestamp doesn't change.
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.
12. `rustpkg do fancy-pkg frob` succeeds if `fancy-pkg` has a package script that defines a custom build hook named `frob`.
13. `rustpkg info foo` prints out something about foo, if foo is installed.
14. (Not sure what prefer and unprefer do)
15. `rustpkg test foo` runs tests and prints their output, if foo contains #[test]s.
16. If foo is installed, `rustpkg uninstall foo; rustpkg list` doesn't include foo in the list