"const-default",
"crossbeam-utils",
"delegate",
- "digest 0.10.3",
"downcast-rs",
"educe",
"either",
"lazy-init",
"lazy-regex",
"libc",
- "mio 0.8.2",
"num",
"num-traits",
"once_cell",
"regex",
"serde",
"serde_with",
- "sha2 0.10.2",
"slotmap-fork-otter",
"structopt",
"strum",
"chrono-tz",
"console",
"derive-into-owned",
+ "digest 0.10.3",
"fehler",
"flexi_logger",
"fs2",
"lazy_static",
"log",
+ "mio 0.8.2",
"nix 0.23.1",
"num-derive",
"num-traits",
"rmp-serde",
"serde",
"serde_with",
+ "sha2 0.10.2",
"strum",
"toml",
"unicode-width",
cast_trait_object="0.1"
crossbeam-utils="0.8"
delegate="0.6"
-digest="0.10"
downcast-rs="1"
educe="0.4"
either="1"
percent-encoding="2"
regex="1"
structopt="0.3"
-sha2="0.10"
subtle="2.4"
tempfile="3"
tera="1.10"
enum-map = { version="2" , features=["serde" ] }
image = { version = "0.24", default-features=false, features=["jpeg","png"] }
index_vec = { version="0.1.1", features=["serde" ] }
-mio = { version="0.8", features=["os-ext", "os-poll" ] }
slotmap = { package="slotmap-fork-otter", version="1", git="https://github.com/ijackson/slotmap", branch="slotmap-fork-otter", features=["serde"] }
check_n("00000.xyz", "bad extension");
check_n("65536.zip", "bad index");
}
+
+#[test]
+#[cfg(not(miri))]
+fn test_digest_write() {
+ let ibuffer = b"xyz";
+ let exp = Sha512_256::digest(&ibuffer[..]);
+ let mut obuffer = [0;4];
+ let inner = &mut obuffer[..];
+ let mut dw = bundles::DigestWrite::new(inner);
+ assert_eq!( dw.write(&ibuffer[..]).unwrap(), 3);
+ let (got, recov) = dw.finish();
+ assert_eq!( recov, b"\0" );
+ assert_eq!( got, exp );
+ assert_eq!( &obuffer, b"xyz\0" );
+}
pub use boolinator;
pub use cast_trait_object;
pub use delegate;
-pub use digest;
pub use educe;
pub use either;
pub use env_logger;
pub use once_cell;
pub use ordered_float;
pub use regex;
-pub use sha2;
pub use slotmap;
pub use tera;
pub use uds;
pub use cast_trait_object::{dyn_upcast, DynCastExt};
pub use const_default::ConstDefault;
pub use delegate::delegate;
-pub use digest::Digest;
pub use downcast_rs::{impl_downcast, Downcast};
pub use educe::Educe;
pub use either::{Either, Left, Right};
pub use percent_encoding::utf8_percent_encode;
pub use percent_encoding::NON_ALPHANUMERIC;
pub use regex::Regex;
-pub use sha2::{Sha512, Sha512_256};
pub use slotmap::{dense::DenseSlotMap, SparseSecondaryMap, Key as _};
pub use subtle::ConstantTimeEq;
pub use tempfile::{self, NamedTempFile};
pub use crate::commands::{MgmtBundleList, MgmtGameUpdateMode};
pub use crate::commands::{ProgressUpdateMode};
pub use crate::debugreader::DebugReader;
-pub use crate::digestrw::{self, *};
pub use crate::error::*;
pub use crate::fastsplit::*;
pub use crate::gamestate::*;
pub use crate::slotmap_slot_idx::*;
pub use crate::spec::*;
pub use crate::spec::piece_specs::{FaceColourSpecs, SimpleCommon};
-pub use crate::timedfd::*;
pub use crate::updates::*;
pub use crate::utils::*;
pub use crate::ui::*;
pub mod currency;
pub mod deck;
pub mod dice;
-pub mod digestrw;
pub mod debugreader;
pub mod error;
pub mod fastsplit;
pub mod pieces;
pub mod shapelib;
pub mod spec;
-pub mod timedfd;
pub mod updates;
pub mod ui;
pub mod utils;
chrono-tz="0.6"
console="0.15"
derive-into-owned="0.2"
+digest="0.10"
fehler="1"
fs2="0.4"
lazy_static="1"
rand="0.8"
rmp="0.8"
rmp-serde="1"
+sha2="0.10"
toml="0.5"
unicode-width="0.1"
flexi_logger = { version="0.22" , features=["specfile" ] }
+mio = { version="0.8", features=["os-ext", "os-poll" ] }
# Repeated in other Cargo.toml's because importing does not work properly
num-traits="0.2"
pub use anyhow;
pub use chrono;
pub use chrono_tz;
+pub use digest;
pub use flexi_logger;
pub use fs2;
pub use lazy_static;
pub use pwd;
pub use rand;
pub use rmp_serde;
+pub use sha2;
pub use toml;
pub use unicode_width;
// SPDX-License-Identifier: AGPL-3.0-or-later
// There is NO WARRANTY.
-use crate::crates::*;
use crate::prelude::*;
#[derive(Debug,Copy,Clone)]
#[throws(io::Error)]
fn flush(&mut self) { self.w.flush()? }
}
-
-#[test]
-#[cfg(not(miri))]
-fn test_digest_write() {
- let ibuffer = b"xyz";
- let exp = Sha512_256::digest(&ibuffer[..]);
- let mut obuffer = [0;4];
- let inner = &mut obuffer[..];
- let mut dw = bundles::DigestWrite::new(inner);
- assert_eq!( dw.write(&ibuffer[..]).unwrap(), 3);
- let (got, recov) = dw.finish();
- assert_eq!( recov, b"\0" );
- assert_eq!( got, exp );
- assert_eq!( &obuffer, b"xyz\0" );
-}
pub use anyhow::{anyhow, ensure, Context};
pub use byteorder::{BigEndian, LittleEndian, ReadBytesExt, WriteBytesExt};
pub use derive_into_owned::IntoOwned;
+pub use digest::Digest;
pub use flexi_logger::LogSpecification;
pub use fs2::FileExt;
pub use lazy_static::lazy_static;
pub use serde::{Deserializer, Serializer};
pub use serde_with::DeserializeFromStr;
pub use serde_with::SerializeDisplay;
+pub use sha2::{Sha512, Sha512_256};
pub use strum::{EnumCount, EnumDiscriminants};
pub use strum::{EnumString, EnumIter, EnumMessage, EnumProperty};
pub use strum::{AsRefStr, IntoEnumIterator, IntoStaticStr};
pub use crate::childio;
pub use crate::config::*;
pub use crate::debugmutex::DebugIdentify;
+pub use crate::digestrw::{self, *};
pub use crate::fake_rng::*;
pub use crate::fake_time::*;
pub use crate::packetframe::{FrameReader, FrameWriter, ReadFrame, WriteFrame};
pub use crate::progress::{self, ProgressInfo, OriginatorExt as _};
pub use crate::support::*;
pub use crate::termprogress;
+pub use crate::timedfd::*;
pub use crate::toml_de;
pub use crate::tz::*;
pub mod childio;
pub mod config;
pub mod debugmutex;
+pub mod digestrw;
pub mod packetframe;
pub mod progress;
pub mod support;
pub mod termprogress;
+pub mod timedfd;
pub mod tz;
#[path = "fake-rng.rs"] pub mod fake_rng;