mirror of
https://github.com/mii443/RustySecrets.git
synced 2025-08-22 16:25:32 +00:00
* 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`.
32 lines
807 B
Rust
32 lines
807 B
Rust
use ring::digest;
|
|
use std::collections::BTreeMap;
|
|
|
|
/// A share's public metadata.
|
|
#[derive(Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord, Default)]
|
|
pub struct MetaData {
|
|
/// The tags associated with the share
|
|
pub tags: BTreeMap<String, String>,
|
|
}
|
|
|
|
impl MetaData {
|
|
/// Construct a new MetaData struct.
|
|
pub fn new() -> Self {
|
|
MetaData {
|
|
tags: BTreeMap::new(),
|
|
}
|
|
}
|
|
|
|
/// Construct a new MetaData struct, holding the given tags
|
|
pub fn with_tags(tags: BTreeMap<String, String>) -> Self {
|
|
Self { tags }
|
|
}
|
|
|
|
pub(crate) fn hash_into(&self, ctx: &mut digest::Context) {
|
|
for (tag, value) in &self.tags {
|
|
ctx.update(tag.as_bytes());
|
|
ctx.update(b":");
|
|
ctx.update(value.as_bytes());
|
|
}
|
|
}
|
|
}
|