about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2016-02-11 11:09:01 +0100
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2016-02-09 13:54:30 +0100
commiteb7664b445d4c2a44e31b6557931dda88e7dd071 (patch)
tree46b1dbdf6a308b685a6c0e7bd8a014444b9052d1
parent194f1ca3f12f6240e9eb63051eef8eba7dce4853 (diff)
Fix librustdoc test
-rw-r--r--src/librustdoc/html/markdown.rs30
-rw-r--r--src/librustdoc/test.rs10
2 files changed, 13 insertions, 27 deletions
diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs
index 66f01b30f78..414370a5437 100644
--- a/src/librustdoc/html/markdown.rs
+++ b/src/librustdoc/html/markdown.rs
@@ -27,6 +27,7 @@
 #![allow(non_camel_case_types)]
 
 use libc;
+use rustc::session::config::get_unstable_features_setting;
 use std::ascii::AsciiExt;
 use std::cell::RefCell;
 use std::default::Default;
@@ -34,7 +35,7 @@ use std::ffi::CString;
 use std::fmt;
 use std::slice;
 use std::str;
-use std::env;
+use syntax::feature_gate::UnstableFeatures;
 
 use html::render::derive_id;
 use html::toc::TocBuilder;
@@ -440,18 +441,6 @@ pub fn find_testable_code(doc: &str, tests: &mut ::test::Collector) {
     }
 }
 
-fn get_unstable_features_setting() -> bool {
-    // Check if we can activate compile_fail option or not.
-    //
-    // It is done to ensure that it won't be used out-of-tree
-    // because it's not ready yet for production.
-    match (option_env!("CFG_BOOTSTRAP_KEY"),
-           env::var("RUSTC_BOOTSTRAP_KEY").ok()) {
-        (Some(ref cfg), Some(ref r_key)) => cfg == r_key,
-        _ => false,
-    }
-}
-
 #[derive(Eq, PartialEq, Clone, Debug)]
 struct LangString {
     should_panic: bool,
@@ -478,7 +467,10 @@ impl LangString {
         let mut seen_rust_tags = false;
         let mut seen_other_tags = false;
         let mut data = LangString::all_false();
-        let allow_compile_fail = get_unstable_features_setting();
+        let allow_compile_fail = match get_unstable_features_setting() {
+            UnstableFeatures::Allow | UnstableFeatures::Cheat=> true,
+            _ => false,
+        };
 
         let tokens = string.split(|c: char|
             !(c == '_' || c == '-' || c.is_alphanumeric())
@@ -487,11 +479,7 @@ impl LangString {
         for token in tokens {
             match token {
                 "" => {},
-                "should_panic" => {
-                    data.should_panic = true;
-                    seen_rust_tags = true;
-                    data.no_run = true;
-                },
+                "should_panic" => { data.should_panic = true; seen_rust_tags = true; },
                 "no_run" => { data.no_run = true; seen_rust_tags = true; },
                 "ignore" => { data.ignore = true; seen_rust_tags = true; },
                 "rust" => { data.rust = true; seen_rust_tags = true; },
@@ -600,10 +588,10 @@ mod tests {
         t("rust",                  false,        false,  false,  true,  false,        false);
         t("sh",                    false,        false,  false,  false, false,        false);
         t("ignore",                false,        false,  true,   true,  false,        false);
-        t("should_panic",          true,         true,   false,  true,  false,        false);
+        t("should_panic",          true,         false,  false,  true,  false,        false);
         t("no_run",                false,        true,   false,  true,  false,        false);
         t("test_harness",          false,        false,  false,  true,  true,         false);
-        t("compile_fail",          false,        false,  false,  true,  false,        true);
+        t("compile_fail",          false,        true,   false,  true,  false,        true);
         t("{.no_run .example}",    false,        true,   false,  true,  false,        false);
         t("{.sh .should_panic}",   true,         false,  false,  true,  false,        false);
         t("{.example .rust}",      false,        false,  false,  true,  false,        false);
diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs
index 36878e7b468..40768ca63e9 100644
--- a/src/librustdoc/test.rs
+++ b/src/librustdoc/test.rs
@@ -257,18 +257,16 @@ fn runtest(test: &str, cratename: &str, cfgs: Vec<String>, libs: SearchPaths,
         let b_sess = AssertRecoverSafe::new(&sess);
         let b_cstore = AssertRecoverSafe::new(&cstore);
         let b_cfg = AssertRecoverSafe::new(cfg.clone());
-        let b_input = AssertRecoverSafe::new(&input);
-        let b_out = AssertRecoverSafe::new(&out);
         let b_control = AssertRecoverSafe::new(&control);
 
         panic::recover(|| {
-            AssertRecoverSafe::new(driver::compile_input(&b_sess, &b_cstore, (*b_cfg).clone(),
-                                                         &b_input, &b_out,
-                                                         &None, None, &b_control))
+            driver::compile_input(&b_sess, &b_cstore, (*b_cfg).clone(),
+                                  &input, &out,
+                                  &None, None, &b_control)
         })
     } {
         Ok(r) => {
-            match *r {
+            match r {
                 Err(count) if count > 0 && compile_fail == false => {
                     sess.fatal("aborting due to previous error(s)")
                 }