Quellcode durchsuchen

Enable testing on stable Rust

Alex Crichton vor 9 Jahren
Ursprung
Commit
a6a399d52e
7 geänderte Dateien mit 81 neuen und 74 gelöschten Zeilen
  1. 14 3
      .travis.yml
  2. 0 3
      Cargo.toml
  3. 64 0
      benches/bigint.rs
  4. 3 0
      num-macros/Cargo.toml
  5. 0 0
      num-macros/tests/test_macro.rs
  6. 0 66
      src/bigint.rs
  7. 0 2
      src/lib.rs

+ 14 - 3
.travis.yml

@@ -1,15 +1,26 @@
 language: rust
+rust:
+  - 1.0.0
+  - beta
+  - nightly
+sudo: false
 script:
   - cargo build --verbose
   - cargo test --verbose
+  - |
+    [ $TRAVIS_RUST_VERSION != nightly ] || (
+      cargo bench &&
+      cargo test --verbose --manifest-path=num-macros/Cargo.toml
+    )
   - cargo doc
 after_success: |
   [ $TRAVIS_BRANCH = master ] &&
   [ $TRAVIS_PULL_REQUEST = false ] &&
+  [ $TRAVIS_RUST_VERSION = nightly ] &&
   echo '<meta http-equiv=refresh content=0;url=num/index.html>' > target/doc/index.html &&
-  sudo pip install ghp-import &&
-  ghp-import -n target/doc &&
-  git push -fq https://${TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages
+  pip install ghp-import --user $USER &&
+  $HOME/.local/bin/ghp-import -n target/doc &&
+  git push -qf https://${TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages
 env:
   global:
     secure: NNQ8QgQFZ05OhljZiuCg39AEPU7Yhko/shFlJG1lqYFoFrELibSmBPd7zJsTubufHRddn0ed6IH7qPLnzWJ/cS+dxwAopuqCFzGMOcd/JW8DJgD5PUBA8EVh8x0tNFJVxxdnGac1ufRneWMvMIxH2hO1DMc+8FZBBd7u1DNG1Lk=

+ 0 - 3
Cargo.toml

@@ -16,6 +16,3 @@ rational, and complex types.
 [dependencies]
 rustc-serialize = "0.3.13"
 rand = "0.3.8"
-
-[dev-dependencies]
-num-macros = { path = "num-macros", version = "0.1.22" }

+ 64 - 0
benches/bigint.rs

@@ -0,0 +1,64 @@
+#![feature(test)]
+
+extern crate test;
+extern crate num;
+
+use std::mem::replace;
+use test::Bencher;
+use num::{BigUint, Zero, One, FromPrimitive};
+
+fn factorial(n: usize) -> BigUint {
+    let mut f: BigUint = One::one();
+    for i in 1..(n+1) {
+        let bu: BigUint = FromPrimitive::from_usize(i).unwrap();
+        f = f * bu;
+    }
+    f
+}
+
+fn fib(n: usize) -> BigUint {
+    let mut f0: BigUint = Zero::zero();
+    let mut f1: BigUint = One::one();
+    for _ in 0..n {
+        let f2 = f0 + &f1;
+        f0 = replace(&mut f1, f2);
+    }
+    f0
+}
+
+#[bench]
+fn factorial_100(b: &mut Bencher) {
+    b.iter(|| {
+        factorial(100);
+    });
+}
+
+#[bench]
+fn fib_100(b: &mut Bencher) {
+    b.iter(|| {
+        fib(100);
+    });
+}
+
+#[bench]
+fn to_string(b: &mut Bencher) {
+    let fac = factorial(100);
+    let fib = fib(100);
+    b.iter(|| {
+        fac.to_string();
+    });
+    b.iter(|| {
+        fib.to_string();
+    });
+}
+
+#[bench]
+fn shr(b: &mut Bencher) {
+    let n = { let one : BigUint = One::one(); one << 1000 };
+    b.iter(|| {
+        let mut m = n.clone();
+        for _ in 0..10 {
+            m = m >> 1;
+        }
+    })
+}

+ 3 - 0
num-macros/Cargo.toml

@@ -14,3 +14,6 @@ Numeric syntax extensions.
 [lib]
 name = "num_macros"
 plugin = true
+
+[dev-dependencies]
+num = { path = "..", version = "*" }

+ 0 - 0
tests/test_macro.rs → num-macros/tests/test_macro.rs


+ 0 - 66
src/bigint.rs

@@ -3450,69 +3450,3 @@ mod bigint_tests {
         let _n: BigInt = rng.gen_bigint_range(&u, &l);
     }
 }
-
-#[cfg(test)]
-mod bench {
-    extern crate test;
-    use self::test::Bencher;
-    use super::BigUint;
-    use std::mem::replace;
-
-    use {Zero, One, FromPrimitive};
-
-    fn factorial(n: usize) -> BigUint {
-        let mut f: BigUint = One::one();
-        for i in 1..(n+1) {
-            let bu: BigUint = FromPrimitive::from_usize(i).unwrap();
-            f = f * bu;
-        }
-        f
-    }
-
-    fn fib(n: usize) -> BigUint {
-        let mut f0: BigUint = Zero::zero();
-        let mut f1: BigUint = One::one();
-        for _ in 0..n {
-            let f2 = f0 + &f1;
-            f0 = replace(&mut f1, f2);
-        }
-        f0
-    }
-
-    #[bench]
-    fn factorial_100(b: &mut Bencher) {
-        b.iter(|| {
-            factorial(100);
-        });
-    }
-
-    #[bench]
-    fn fib_100(b: &mut Bencher) {
-        b.iter(|| {
-            fib(100);
-        });
-    }
-
-    #[bench]
-    fn to_string(b: &mut Bencher) {
-        let fac = factorial(100);
-        let fib = fib(100);
-        b.iter(|| {
-            fac.to_string();
-        });
-        b.iter(|| {
-            fib.to_string();
-        });
-    }
-
-    #[bench]
-    fn shr(b: &mut Bencher) {
-        let n = { let one : BigUint = One::one(); one << 1000 };
-        b.iter(|| {
-            let mut m = n.clone();
-            for _ in 0..10 {
-                m = m >> 1;
-            }
-        })
-    }
-}

+ 0 - 2
src/lib.rs

@@ -42,8 +42,6 @@
 //! ```
 //!
 //! [newt]: https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method
-//#![cfg_attr(test, deny(warnings))]
-#![cfg_attr(test, feature(test))]
 #![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
        html_favicon_url = "http://www.rust-lang.org/favicon.ico",
        html_root_url = "http://doc.rust-lang.org/num/",