about summary refs log tree commit diff
path: root/src/librustpkg
diff options
context:
space:
mode:
authorMarvin Löbel <loebel.marvin@gmail.com>2013-10-11 23:20:34 +0200
committerMarvin Löbel <loebel.marvin@gmail.com>2013-10-28 08:50:32 +0100
commitfa8e71a8257f4226ab532d4bf268d3ecbfa98eb4 (patch)
tree0b8051814dd8a5ef08e663c172e2b456065d625d /src/librustpkg
parentcb5b21eba713ff3888b2741db4c9e7d841cfde02 (diff)
Allow fail messages to be caught, and introduce the Any trait
Some code cleanup, sorting of import blocks

Removed std::unstable::UnsafeArc's use of Either

Added run-fail tests for the new FailWithCause impls

Changed future_result and try to return Result<(), ~Any>.

- Internally, there is an enum of possible fail messages passend around.
- In case of linked failure or a string message, the ~Any gets
  lazyly allocated in future_results recv method.
- For that, future result now returns a wrapper around a Port.
- Moved and renamed task::TaskResult into rt::task::UnwindResult
  and made it an internal enum.
- Introduced a replacement typedef `type TaskResult = Result<(), ~Any>`.
Diffstat (limited to 'src/librustpkg')
-rw-r--r--src/librustpkg/tests.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/librustpkg/tests.rs b/src/librustpkg/tests.rs
index ce5e81d4109..f5973bff4fc 100644
--- a/src/librustpkg/tests.rs
+++ b/src/librustpkg/tests.rs
@@ -640,9 +640,8 @@ fn test_install_invalid() {
                                   pkgid.clone());
         ctxt.install(pkg_src, &WhatToBuild::new(MaybeCustom, Everything));
     };
-    // Not the best test -- doesn't test that we failed in the right way.
-    // Best we can do for now.
-    assert!(result == Err(()));
+    assert!(result.unwrap_err()
+            .to_str().contains("supplied path for package dir does not exist"));
 }
 
 #[test]