]> git.proxmox.com Git - cargo.git/commitdiff
pass translated crate name to doc tests
authorAndrew Paseltiner <apaseltiner@gmail.com>
Thu, 26 Mar 2015 19:07:11 +0000 (15:07 -0400)
committerAndrew Paseltiner <apaseltiner@gmail.com>
Thu, 26 Mar 2015 19:07:11 +0000 (15:07 -0400)
closes #1459

src/cargo/ops/cargo_test.rs
tests/test_cargo_test.rs

index 2af21c2fcc86dee84dd07bc146dac30ebff238b6..190897eac00bd17c733f68c3bb5201e2ef70c76e 100644 (file)
@@ -24,13 +24,13 @@ pub fn run_tests(manifest_path: &Path,
 
     let libs = compile.package.targets().iter()
                       .filter(|t| t.doctested())
-                      .map(|t| (t.src_path(), t.name()));
+                      .map(|t| (t.src_path(), t.name(), t.crate_name()));
 
-    for (lib, name) in libs {
+    for (lib, name, crate_name) in libs {
         try!(config.shell().status("Doc-tests", name));
         let mut p = try!(compile.rustdoc_process(&compile.package));
         p.arg("--test").arg(lib)
-         .arg("--crate-name").arg(name)
+         .arg("--crate-name").arg(&crate_name)
          .arg("-L").arg(&compile.root_output)
          .arg("-L").arg(&compile.deps_output)
          .cwd(compile.package.root());
index 08430fa7cb73ddc7573b165cfabb6e74991a0b07..9b6d1892e721a3bd782d13c43acbf47bfba8ef80 100644 (file)
@@ -1400,3 +1400,22 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
 
 ", compiling = COMPILING, running = RUNNING, doctest = DOCTEST)))
 });
+
+test!(dashes_to_underscores {
+    let p = project("foo")
+        .file("Cargo.toml", r#"
+            [package]
+            name = "foo-bar"
+            version = "0.0.1"
+            authors = []
+        "#)
+        .file("src/lib.rs", r#"
+            /// ```
+            /// assert_eq!(foo_bar::foo(), 1);
+            /// ```
+            pub fn foo() -> i32 { 1 }
+        "#);
+
+    assert_that(p.cargo_process("test"),
+                execs().with_status(0));
+});