Rustfmt updates + refactor Travis configuration (#60)

* Update rustfmt compliance

Looks like rustfmt has made some improvements recently, so wanted to bring the
code up to date.

* Add rustfmt to nightly item in Travis matrix

* Use Travis Cargo cache

* Allow fast_finish in Travis

Items that match the `allow_failures` predicate (right now, just Rust nightly),
will still finish, but Travis won't wait for them to report a result if the
other builds have already finished.

* Run kcov in a separate matrix build in Travis

* Rework allowed_failures logic

We don't want rustfmt to match `allow_failures` just because it needs to use
nightly, while we do want nightly to match `allow_failures`. Env vars provide a
solution.

* Add --all switch to rustfmt Travis

* Test building docs in Travis

* Use exact Ubuntu dependencies listed for kcov

Some of the dependencies we were installing were not listed on
https://github.com/SimonKagstrom/kcov/blob/master/INSTALL.md, and we were
missing one dependency that was listed there. When `sudo: true` Travis uses
Ubuntu Trusty.

* No need to build before running kcov

kcov builds its own test executables.

* Generate `Cargo.lock` w/ `cargo update` before running kcov

As noted in aeb3906cce8e3e26c7bc80d6aec417b365f3d2f1 it is not necessary to
build the project before running kcov, but kcov does require a `Cargo.lock`
file, which can be generated with `cargo update`.
This commit is contained in:
Noah Vesely
2018-04-02 15:02:10 -05:00
committed by Romain Ruetschi
parent d6407c0e8a
commit c25f661645
24 changed files with 115 additions and 90 deletions

View File

@ -10,29 +10,37 @@ mod shared;
mod ss1 {
use rusty_secrets::dss::ss1;
use test::{black_box, Bencher};
use shared;
use test::{black_box, Bencher};
macro_rules! bench_generate {
($name:ident, $k:expr, $n:expr, $secret:ident) => (
($name:ident, $k:expr, $n:expr, $secret:ident) => {
#[bench]
fn $name(b: &mut Bencher) {
let secret = shared::$secret();
b.iter(move || {
let shares = ss1::split_secret($k, $n, &secret, ss1::Reproducibility::reproducible(), &None).unwrap();
let shares = ss1::split_secret(
$k,
$n,
&secret,
ss1::Reproducibility::reproducible(),
&None,
).unwrap();
black_box(shares);
});
}
)
};
}
macro_rules! bench_recover {
($name:ident, $k:expr, $n:expr, $secret:ident) => (
($name:ident, $k:expr, $n:expr, $secret:ident) => {
#[bench]
fn $name(b: &mut Bencher) {
let secret = shared::$secret();
let all_shares = ss1::split_secret($k, $n, &secret, ss1::Reproducibility::reproducible(), &None).unwrap();
let all_shares =
ss1::split_secret($k, $n, &secret, ss1::Reproducibility::reproducible(), &None)
.unwrap();
let shares = &all_shares.into_iter().take($k).collect::<Vec<_>>().clone();
b.iter(|| {
@ -40,7 +48,7 @@ mod ss1 {
black_box(result);
});
}
)
};
}
bench_generate!(generate_1kb_3_5, 3, 5, secret_1kb);

View File

@ -8,12 +8,12 @@ mod shared;
mod sss {
use test::{black_box, Bencher};
use rusty_secrets::sss;
use shared;
use test::{black_box, Bencher};
macro_rules! bench_generate {
($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => (
($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => {
#[bench]
fn $name(b: &mut Bencher) {
let secret = shared::$secret();
@ -23,11 +23,11 @@ mod sss {
black_box(shares);
});
}
)
};
}
macro_rules! bench_recover {
($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => (
($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => {
#[bench]
fn $name(b: &mut Bencher) {
let secret = shared::$secret();
@ -39,7 +39,7 @@ mod sss {
black_box(result);
});
}
)
};
}
bench_generate!(generate_1kb_3_5, 3, 5, secret_1kb, false);

View File

@ -10,11 +10,11 @@ mod shared;
mod thss {
use rusty_secrets::dss::thss;
use test::{black_box, Bencher};
use shared;
use test::{black_box, Bencher};
macro_rules! bench_generate {
($name:ident, $k:expr, $n:expr, $secret:ident) => (
($name:ident, $k:expr, $n:expr, $secret:ident) => {
#[bench]
fn $name(b: &mut Bencher) {
let secret = shared::$secret();
@ -24,11 +24,11 @@ mod thss {
black_box(shares);
});
}
)
};
}
macro_rules! bench_recover {
($name:ident, $k:expr, $n:expr, $secret:ident) => (
($name:ident, $k:expr, $n:expr, $secret:ident) => {
#[bench]
fn $name(b: &mut Bencher) {
let secret = shared::$secret();
@ -40,7 +40,7 @@ mod thss {
black_box(result);
});
}
)
};
}
bench_generate!(generate_1kb_3_5, 3, 5, secret_1kb);

View File

@ -8,30 +8,32 @@ mod shared;
mod wrapped_secrets {
use test::{black_box, Bencher};
use rusty_secrets::wrapped_secrets;
use shared;
use test::{black_box, Bencher};
macro_rules! bench_generate {
($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => (
($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => {
#[bench]
fn $name(b: &mut Bencher) {
let secret = shared::$secret();
b.iter(move || {
let shares = wrapped_secrets::split_secret($k, $n, secret, None, $signed).unwrap();
let shares =
wrapped_secrets::split_secret($k, $n, secret, None, $signed).unwrap();
black_box(shares);
});
}
)
};
}
macro_rules! bench_recover {
($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => (
($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => {
#[bench]
fn $name(b: &mut Bencher) {
let secret = shared::$secret();
let all_shares = wrapped_secrets::split_secret($k, $n, &secret, None, $signed).unwrap();
let all_shares =
wrapped_secrets::split_secret($k, $n, &secret, None, $signed).unwrap();
let shares = all_shares.into_iter().take($k).collect::<Vec<_>>();
b.iter(|| {
@ -39,7 +41,7 @@ mod wrapped_secrets {
black_box(result);
});
}
)
};
}
bench_generate!(generate_1kb_3_5, 3, 5, secret_1kb, false);