Nov 01 17:56:36.735 INFO testing ShaunApps/cryptopals-challenges against beta-2018-10-30 for beta-1.31-1
Nov 01 17:56:36.735 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-1/worker-5/beta-2018-10-30:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-5/beta-1.31-1/beta-2018-10-30:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +beta-2018-10-30 build --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Nov 01 17:56:37.008 INFO blam! acb554c7a53547aee64cbb47a07661516a19a1473f30006c495616f5f6fc1e73
Nov 01 17:56:37.010 INFO running `"docker" "start" "-a" "acb554c7a53547aee64cbb47a07661516a19a1473f30006c495616f5f6fc1e73"`
Nov 01 17:56:38.018 INFO kablam! usermod: no changes
Nov 01 17:56:38.163 INFO kablam!    Compiling rust-crypto v0.2.36
Nov 01 17:56:47.656 INFO kablam!    Compiling cryptopals v0.1.0 (/source)
Nov 01 17:56:48.315 INFO kablam! warning: unused import: `hex`
Nov 01 17:56:48.315 INFO kablam!  --> src/challenge_set_1/break_repeating_key_xor.rs:4:5
Nov 01 17:56:48.315 INFO kablam!   |
Nov 01 17:56:48.315 INFO kablam! 4 | use hex;
Nov 01 17:56:48.315 INFO kablam!   |     ^^^
Nov 01 17:56:48.315 INFO kablam!   |
Nov 01 17:56:48.315 INFO kablam!   = note: #[warn(unused_imports)] on by default
Nov 01 17:56:48.315 INFO kablam! 
Nov 01 17:56:48.315 INFO kablam! warning: unused import: `std::io`
Nov 01 17:56:48.315 INFO kablam!  --> src/challenge_set_1/break_repeating_key_xor.rs:7:5
Nov 01 17:56:48.315 INFO kablam!   |
Nov 01 17:56:48.315 INFO kablam! 7 | use std::io;
Nov 01 17:56:48.315 INFO kablam!   |     ^^^^^^^
Nov 01 17:56:48.315 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::io::BufRead`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/break_repeating_key_xor.rs:9:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 9 | use std::io::BufRead;
Nov 01 17:56:48.316 INFO kablam!   |     ^^^^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::io::BufReader`
Nov 01 17:56:48.316 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:10:5
Nov 01 17:56:48.316 INFO kablam!    |
Nov 01 17:56:48.316 INFO kablam! 10 | use std::io::BufReader;
Nov 01 17:56:48.316 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::path::Path`
Nov 01 17:56:48.316 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:11:5
Nov 01 17:56:48.316 INFO kablam!    |
Nov 01 17:56:48.316 INFO kablam! 11 | use std::path::Path;
Nov 01 17:56:48.316 INFO kablam!    |     ^^^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::str`
Nov 01 17:56:48.316 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:12:5
Nov 01 17:56:48.316 INFO kablam!    |
Nov 01 17:56:48.316 INFO kablam! 12 | use std::str;
Nov 01 17:56:48.316 INFO kablam!    |     ^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `base64`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:1:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 1 | use base64;
Nov 01 17:56:48.316 INFO kablam!   |     ^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `rand::prelude::*`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:4:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 4 | use rand::prelude::*;
Nov 01 17:56:48.316 INFO kablam!   |     ^^^^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused imports: `OsRng`, `Rng`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:5:12
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 5 | use rand::{OsRng, Rng};
Nov 01 17:56:48.316 INFO kablam!   |            ^^^^^  ^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::fs::File`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:6:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 6 | use std::fs::File;
Nov 01 17:56:48.316 INFO kablam!   |     ^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::io::prelude::*`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:7:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 7 | use std::io::prelude::*;
Nov 01 17:56:48.316 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::io::BufRead`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:8:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 8 | use std::io::BufRead;
Nov 01 17:56:48.316 INFO kablam!   |     ^^^^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::io::BufReader`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:9:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 9 | use std::io::BufReader;
Nov 01 17:56:48.316 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::str`
Nov 01 17:56:48.316 INFO kablam!   --> src/challenge_set_1/challenge_7.rs:10:5
Nov 01 17:56:48.316 INFO kablam!    |
Nov 01 17:56:48.316 INFO kablam! 10 | use std::str;
Nov 01 17:56:48.316 INFO kablam!    |     ^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `std::path::Path`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/detect_single_char_xor.rs:5:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 5 | use std::path::Path;
Nov 01 17:56:48.316 INFO kablam!   |     ^^^^^^^^^^^^^^^
Nov 01 17:56:48.316 INFO kablam! 
Nov 01 17:56:48.316 INFO kablam! warning: unused import: `base64`
Nov 01 17:56:48.316 INFO kablam!  --> src/challenge_set_1/fixed_XOR.rs:1:5
Nov 01 17:56:48.316 INFO kablam!   |
Nov 01 17:56:48.316 INFO kablam! 1 | use base64;
Nov 01 17:56:48.317 INFO kablam!   |     ^^^^^^
Nov 01 17:56:48.317 INFO kablam! 
Nov 01 17:56:48.317 INFO kablam! warning: unused import: `std::str::from_utf8`
Nov 01 17:56:48.317 INFO kablam!  --> src/challenge_set_1/repeating_key_xor.rs:2:5
Nov 01 17:56:48.317 INFO kablam!   |
Nov 01 17:56:48.317 INFO kablam! 2 | use std::str::from_utf8;
Nov 01 17:56:48.317 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.317 INFO kablam! 
Nov 01 17:56:48.317 INFO kablam! warning: unnecessary parentheses around `if` condition
Nov 01 17:56:48.317 INFO kablam!   --> src/challenge_set_1/repeating_key_xor.rs:11:12
Nov 01 17:56:48.317 INFO kablam!    |
Nov 01 17:56:48.317 INFO kablam! 11 |         if ((index + 1) == key.as_bytes().len()) {
Nov 01 17:56:48.317 INFO kablam!    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
Nov 01 17:56:48.317 INFO kablam!    |
Nov 01 17:56:48.317 INFO kablam!    = note: #[warn(unused_parens)] on by default
Nov 01 17:56:48.317 INFO kablam! 
Nov 01 17:56:48.317 INFO kablam! warning: unused import: `base64`
Nov 01 17:56:48.317 INFO kablam!  --> src/challenge_set_1/single_byte_xor_cipher.rs:1:5
Nov 01 17:56:48.317 INFO kablam!   |
Nov 01 17:56:48.317 INFO kablam! 1 | use base64;
Nov 01 17:56:48.317 INFO kablam!   |     ^^^^^^
Nov 01 17:56:48.317 INFO kablam! 
Nov 01 17:56:48.317 INFO kablam! warning: unused import: `challenge_set_1::detect_single_char_xor::detect_sing_char_xor`
Nov 01 17:56:48.317 INFO kablam!  --> src/main.rs:8:5
Nov 01 17:56:48.317 INFO kablam!   |
Nov 01 17:56:48.317 INFO kablam! 8 | use challenge_set_1::detect_single_char_xor::detect_sing_char_xor;
Nov 01 17:56:48.317 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.317 INFO kablam! 
Nov 01 17:56:48.317 INFO kablam! warning: unused import: `challenge_set_1::single_byte_xor_cipher::single_byte_xor_cipher`
Nov 01 17:56:48.317 INFO kablam!   --> src/main.rs:10:5
Nov 01 17:56:48.317 INFO kablam!    |
Nov 01 17:56:48.317 INFO kablam! 10 | use challenge_set_1::single_byte_xor_cipher::single_byte_xor_cipher;
Nov 01 17:56:48.317 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.317 INFO kablam! 
Nov 01 17:56:48.441 INFO kablam! warning: variable `phrase` is assigned to, but never used
Nov 01 17:56:48.441 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:24:13
Nov 01 17:56:48.441 INFO kablam!    |
Nov 01 17:56:48.441 INFO kablam! 24 |     let mut phrase: String = "".to_string();
Nov 01 17:56:48.441 INFO kablam!    |             ^^^^^^
Nov 01 17:56:48.441 INFO kablam!    |
Nov 01 17:56:48.441 INFO kablam!    = note: #[warn(unused_variables)] on by default
Nov 01 17:56:48.441 INFO kablam!    = note: consider using `_phrase` instead
Nov 01 17:56:48.441 INFO kablam! 
Nov 01 17:56:48.441 INFO kablam! warning: value assigned to `phrase` is never read
Nov 01 17:56:48.441 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:33:13
Nov 01 17:56:48.441 INFO kablam!    |
Nov 01 17:56:48.441 INFO kablam! 33 |             phrase = match thing {
Nov 01 17:56:48.441 INFO kablam!    |             ^^^^^^
Nov 01 17:56:48.441 INFO kablam!    |
Nov 01 17:56:48.441 INFO kablam!    = note: #[warn(unused_assignments)] on by default
Nov 01 17:56:48.441 INFO kablam! 
Nov 01 17:56:48.441 INFO kablam! warning: unused variable: `error`
Nov 01 17:56:48.441 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:35:21
Nov 01 17:56:48.441 INFO kablam!    |
Nov 01 17:56:48.441 INFO kablam! 35 |                 Err(error) => String::from(""),
Nov 01 17:56:48.441 INFO kablam!    |                     ^^^^^ help: consider using `_error` instead
Nov 01 17:56:48.441 INFO kablam! 
Nov 01 17:56:48.441 INFO kablam! warning: unused variable: `value`
Nov 01 17:56:48.441 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:84:15
Nov 01 17:56:48.441 INFO kablam!    |
Nov 01 17:56:48.441 INFO kablam! 84 |     for (key, value) in key_map.iter() {
Nov 01 17:56:48.441 INFO kablam!    |               ^^^^^ help: consider using `_value` instead
Nov 01 17:56:48.441 INFO kablam! 
Nov 01 17:56:48.441 INFO kablam! warning: unused variable: `e`
Nov 01 17:56:48.441 INFO kablam!   --> src/challenge_set_1/single_byte_xor_cipher.rs:44:13
Nov 01 17:56:48.441 INFO kablam!    |
Nov 01 17:56:48.441 INFO kablam! 44 |         Err(e) => String::from(""),
Nov 01 17:56:48.441 INFO kablam!    |             ^ help: consider using `_e` instead
Nov 01 17:56:48.441 INFO kablam! 
Nov 01 17:56:48.441 INFO kablam! warning: unused variable: `length`
Nov 01 17:56:48.441 INFO kablam!   --> src/challenge_set_1/single_byte_xor_cipher.rs:57:9
Nov 01 17:56:48.441 INFO kablam!    |
Nov 01 17:56:48.441 INFO kablam! 57 |     let length = data_as_bytes.len();
Nov 01 17:56:48.441 INFO kablam!    |         ^^^^^^ help: consider using `_length` instead
Nov 01 17:56:48.442 INFO kablam! 
Nov 01 17:56:48.442 INFO kablam! warning: unused variable: `error`
Nov 01 17:56:48.442 INFO kablam!   --> src/challenge_set_1/single_byte_xor_cipher.rs:78:21
Nov 01 17:56:48.442 INFO kablam!    |
Nov 01 17:56:48.442 INFO kablam! 78 |                 Err(error) => String::from(""),
Nov 01 17:56:48.442 INFO kablam!    |                     ^^^^^ help: consider using `_error` instead
Nov 01 17:56:48.442 INFO kablam! 
Nov 01 17:56:48.476 INFO kablam! warning: function is never used: `solve_blocks`
Nov 01 17:56:48.476 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:14:1
Nov 01 17:56:48.476 INFO kablam!    |
Nov 01 17:56:48.476 INFO kablam! 14 | fn solve_blocks(blocks: Vec<Vec<u8>>) -> Vec<u8> {
Nov 01 17:56:48.476 INFO kablam!    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.476 INFO kablam!    |
Nov 01 17:56:48.476 INFO kablam!    = note: #[warn(dead_code)] on by default
Nov 01 17:56:48.476 INFO kablam! 
Nov 01 17:56:48.476 INFO kablam! warning: function is never used: `break_ciphertext_into_blocks`
Nov 01 17:56:48.476 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:42:1
Nov 01 17:56:48.476 INFO kablam!    |
Nov 01 17:56:48.476 INFO kablam! 42 | fn break_ciphertext_into_blocks(keysize: u8) -> Vec<Vec<u8>> {
Nov 01 17:56:48.476 INFO kablam!    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.476 INFO kablam! 
Nov 01 17:56:48.476 INFO kablam! warning: function is never used: `find_smallest_KEYSIZE`
Nov 01 17:56:48.476 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:76:1
Nov 01 17:56:48.476 INFO kablam!    |
Nov 01 17:56:48.476 INFO kablam! 76 | fn find_smallest_KEYSIZE() -> Vec<u8> {
Nov 01 17:56:48.476 INFO kablam!    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.476 INFO kablam! 
Nov 01 17:56:48.476 INFO kablam! warning: function is never used: `normalized_KEYSIZE`
Nov 01 17:56:48.476 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:96:1
Nov 01 17:56:48.476 INFO kablam!    |
Nov 01 17:56:48.476 INFO kablam! 96 | fn normalized_KEYSIZE(key_guess: u8) -> f64 {
Nov 01 17:56:48.476 INFO kablam!    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.476 INFO kablam! 
Nov 01 17:56:48.476 INFO kablam! warning: function is never used: `decrypt`
Nov 01 17:56:48.476 INFO kablam!   --> src/challenge_set_1/challenge_7.rs:13:1
Nov 01 17:56:48.476 INFO kablam!    |
Nov 01 17:56:48.476 INFO kablam! 13 | / fn decrypt(
Nov 01 17:56:48.476 INFO kablam! 14 | |     encrypted_data: &[u8],
Nov 01 17:56:48.476 INFO kablam! 15 | |     key: &[u8],
Nov 01 17:56:48.476 INFO kablam! 16 | | ) -> Result<Vec<u8>, symmetriccipher::SymmetricCipherError> {
Nov 01 17:56:48.476 INFO kablam! ...  |
Nov 01 17:56:48.476 INFO kablam! 39 | |     Ok(final_result)
Nov 01 17:56:48.476 INFO kablam! 40 | | }
Nov 01 17:56:48.476 INFO kablam!    | |_^
Nov 01 17:56:48.476 INFO kablam! 
Nov 01 17:56:48.477 INFO kablam! warning: function `find_smallest_KEYSIZE` should have a snake case name such as `find_smallest_keysize`
Nov 01 17:56:48.477 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:76:1
Nov 01 17:56:48.477 INFO kablam!    |
Nov 01 17:56:48.477 INFO kablam! 76 | / fn find_smallest_KEYSIZE() -> Vec<u8> {
Nov 01 17:56:48.477 INFO kablam! 77 | |     let mut key_map: HashMap<usize, u8> = HashMap::new();
Nov 01 17:56:48.477 INFO kablam! 78 | |
Nov 01 17:56:48.477 INFO kablam! 79 | |     for i in 1..=40 {
Nov 01 17:56:48.477 INFO kablam! ...  |
Nov 01 17:56:48.477 INFO kablam! 92 | |     vec![value1, value2, value3]
Nov 01 17:56:48.477 INFO kablam! 93 | | }
Nov 01 17:56:48.477 INFO kablam!    | |_^
Nov 01 17:56:48.477 INFO kablam!    |
Nov 01 17:56:48.477 INFO kablam!    = note: #[warn(non_snake_case)] on by default
Nov 01 17:56:48.477 INFO kablam! 
Nov 01 17:56:48.477 INFO kablam! warning: function `normalized_KEYSIZE` should have a snake case name such as `normalized_keysize`
Nov 01 17:56:48.477 INFO kablam!    --> src/challenge_set_1/break_repeating_key_xor.rs:96:1
Nov 01 17:56:48.477 INFO kablam!     |
Nov 01 17:56:48.477 INFO kablam! 96  | / fn normalized_KEYSIZE(key_guess: u8) -> f64 {
Nov 01 17:56:48.477 INFO kablam! 97  | |     let mut f = File::open("1_challenge_6.txt").unwrap();
Nov 01 17:56:48.477 INFO kablam! 98  | |
Nov 01 17:56:48.477 INFO kablam! 99  | |     let mut contents = String::new();
Nov 01 17:56:48.477 INFO kablam! ...   |
Nov 01 17:56:48.477 INFO kablam! 114 | |     final_distance / pairs as f64
Nov 01 17:56:48.477 INFO kablam! 115 | | }
Nov 01 17:56:48.477 INFO kablam!     | |_^
Nov 01 17:56:48.477 INFO kablam! 
Nov 01 17:56:48.478 INFO kablam! warning: module `fixed_XOR` should have a snake case name such as `fixed_xor`
Nov 01 17:56:48.478 INFO kablam!  --> src/challenge_set_1/mod.rs:7:1
Nov 01 17:56:48.478 INFO kablam!   |
Nov 01 17:56:48.478 INFO kablam! 7 | pub mod fixed_XOR;
Nov 01 17:56:48.478 INFO kablam!   | ^^^^^^^^^^^^^^^^^^
Nov 01 17:56:48.478 INFO kablam! 
Nov 01 17:56:48.478 INFO kablam! warning: function `fixed_XOR` should have a snake case name such as `fixed_xor`
Nov 01 17:56:48.478 INFO kablam!   --> src/challenge_set_1/fixed_XOR.rs:19:1
Nov 01 17:56:48.478 INFO kablam!    |
Nov 01 17:56:48.478 INFO kablam! 19 | / pub fn fixed_XOR(data_1: &str, data_2: &str) -> String {
Nov 01 17:56:48.478 INFO kablam! 20 | |     let one = hex::decode(data_1).unwrap();
Nov 01 17:56:48.478 INFO kablam! 21 | |     let two = hex::decode(data_2).unwrap();
Nov 01 17:56:48.478 INFO kablam! 22 | |     let xor = BytesXOR(one) ^ BytesXOR(two);
Nov 01 17:56:48.478 INFO kablam! 23 | |     hex::encode(xor.0)
Nov 01 17:56:48.478 INFO kablam! 24 | | }
Nov 01 17:56:48.478 INFO kablam!    | |_^
Nov 01 17:56:48.478 INFO kablam! 
Nov 01 17:56:48.897 INFO kablam!     Finished dev [unoptimized + debuginfo] target(s) in 10.84s
Nov 01 17:56:48.902 INFO kablam! su: No module specific data is present
Nov 01 17:56:49.664 INFO running `"docker" "rm" "-f" "acb554c7a53547aee64cbb47a07661516a19a1473f30006c495616f5f6fc1e73"`
Nov 01 17:56:49.858 INFO blam! acb554c7a53547aee64cbb47a07661516a19a1473f30006c495616f5f6fc1e73
Nov 01 17:56:49.868 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-1/worker-5/beta-2018-10-30:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-5/beta-1.31-1/beta-2018-10-30:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +beta-2018-10-30 test --frozen --no-run" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Nov 01 17:56:50.273 INFO blam! 67ae1b7dfee120c59e9d6906f631683f3007143936341e4d55be616c599b9630
Nov 01 17:56:50.276 INFO running `"docker" "start" "-a" "67ae1b7dfee120c59e9d6906f631683f3007143936341e4d55be616c599b9630"`
Nov 01 17:56:51.114 INFO kablam! usermod: no changes
Nov 01 17:56:51.158 INFO kablam!    Compiling cryptopals v0.1.0 (/source)
Nov 01 17:56:51.748 INFO kablam! warning: unused import: `hex`
Nov 01 17:56:51.748 INFO kablam!  --> src/challenge_set_1/break_repeating_key_xor.rs:4:5
Nov 01 17:56:51.748 INFO kablam!   |
Nov 01 17:56:51.748 INFO kablam! 4 | use hex;
Nov 01 17:56:51.748 INFO kablam!   |     ^^^
Nov 01 17:56:51.748 INFO kablam!   |
Nov 01 17:56:51.748 INFO kablam!   = note: #[warn(unused_imports)] on by default
Nov 01 17:56:51.748 INFO kablam! 
Nov 01 17:56:51.748 INFO kablam! warning: unused import: `std::io`
Nov 01 17:56:51.748 INFO kablam!  --> src/challenge_set_1/break_repeating_key_xor.rs:7:5
Nov 01 17:56:51.748 INFO kablam!   |
Nov 01 17:56:51.748 INFO kablam! 7 | use std::io;
Nov 01 17:56:51.748 INFO kablam!   |     ^^^^^^^
Nov 01 17:56:51.748 INFO kablam! 
Nov 01 17:56:51.748 INFO kablam! warning: unused import: `std::io::BufRead`
Nov 01 17:56:51.748 INFO kablam!  --> src/challenge_set_1/break_repeating_key_xor.rs:9:5
Nov 01 17:56:51.748 INFO kablam!   |
Nov 01 17:56:51.748 INFO kablam! 9 | use std::io::BufRead;
Nov 01 17:56:51.748 INFO kablam!   |     ^^^^^^^^^^^^^^^^
Nov 01 17:56:51.748 INFO kablam! 
Nov 01 17:56:51.748 INFO kablam! warning: unused import: `std::io::BufReader`
Nov 01 17:56:51.748 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:10:5
Nov 01 17:56:51.748 INFO kablam!    |
Nov 01 17:56:51.749 INFO kablam! 10 | use std::io::BufReader;
Nov 01 17:56:51.749 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^
Nov 01 17:56:51.749 INFO kablam! 
Nov 01 17:56:51.749 INFO kablam! warning: unused import: `std::path::Path`
Nov 01 17:56:51.749 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:11:5
Nov 01 17:56:51.749 INFO kablam!    |
Nov 01 17:56:51.749 INFO kablam! 11 | use std::path::Path;
Nov 01 17:56:51.749 INFO kablam!    |     ^^^^^^^^^^^^^^^
Nov 01 17:56:51.749 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `rand::prelude::*`
Nov 01 17:56:51.750 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:4:5
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 4 | use rand::prelude::*;
Nov 01 17:56:51.750 INFO kablam!   |     ^^^^^^^^^^^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused imports: `OsRng`, `Rng`
Nov 01 17:56:51.750 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:5:12
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 5 | use rand::{OsRng, Rng};
Nov 01 17:56:51.750 INFO kablam!   |            ^^^^^  ^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `std::io::prelude::*`
Nov 01 17:56:51.750 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:7:5
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 7 | use std::io::prelude::*;
Nov 01 17:56:51.750 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `std::io::BufRead`
Nov 01 17:56:51.750 INFO kablam!  --> src/challenge_set_1/challenge_7.rs:8:5
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 8 | use std::io::BufRead;
Nov 01 17:56:51.750 INFO kablam!   |     ^^^^^^^^^^^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `std::str`
Nov 01 17:56:51.750 INFO kablam!   --> src/challenge_set_1/challenge_7.rs:10:5
Nov 01 17:56:51.750 INFO kablam!    |
Nov 01 17:56:51.750 INFO kablam! 10 | use std::str;
Nov 01 17:56:51.750 INFO kablam!    |     ^^^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `std::path::Path`
Nov 01 17:56:51.750 INFO kablam!  --> src/challenge_set_1/detect_single_char_xor.rs:5:5
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 5 | use std::path::Path;
Nov 01 17:56:51.750 INFO kablam!   |     ^^^^^^^^^^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `base64`
Nov 01 17:56:51.750 INFO kablam!  --> src/challenge_set_1/fixed_XOR.rs:1:5
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 1 | use base64;
Nov 01 17:56:51.750 INFO kablam!   |     ^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `std::str::from_utf8`
Nov 01 17:56:51.750 INFO kablam!  --> src/challenge_set_1/repeating_key_xor.rs:2:5
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 2 | use std::str::from_utf8;
Nov 01 17:56:51.750 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unnecessary parentheses around `if` condition
Nov 01 17:56:51.750 INFO kablam!   --> src/challenge_set_1/repeating_key_xor.rs:11:12
Nov 01 17:56:51.750 INFO kablam!    |
Nov 01 17:56:51.750 INFO kablam! 11 |         if ((index + 1) == key.as_bytes().len()) {
Nov 01 17:56:51.750 INFO kablam!    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
Nov 01 17:56:51.750 INFO kablam!    |
Nov 01 17:56:51.750 INFO kablam!    = note: #[warn(unused_parens)] on by default
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `base64`
Nov 01 17:56:51.750 INFO kablam!  --> src/challenge_set_1/single_byte_xor_cipher.rs:1:5
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 1 | use base64;
Nov 01 17:56:51.750 INFO kablam!   |     ^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `super::*`
Nov 01 17:56:51.750 INFO kablam!   --> src/challenge_set_1/single_byte_xor_cipher.rs:88:9
Nov 01 17:56:51.750 INFO kablam!    |
Nov 01 17:56:51.750 INFO kablam! 88 |     use super::*;
Nov 01 17:56:51.750 INFO kablam!    |         ^^^^^^^^
Nov 01 17:56:51.750 INFO kablam! 
Nov 01 17:56:51.750 INFO kablam! warning: unused import: `challenge_set_1::detect_single_char_xor::detect_sing_char_xor`
Nov 01 17:56:51.750 INFO kablam!  --> src/main.rs:8:5
Nov 01 17:56:51.750 INFO kablam!   |
Nov 01 17:56:51.750 INFO kablam! 8 | use challenge_set_1::detect_single_char_xor::detect_sing_char_xor;
Nov 01 17:56:51.751 INFO kablam!   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:51.751 INFO kablam! 
Nov 01 17:56:51.751 INFO kablam! warning: unused import: `challenge_set_1::single_byte_xor_cipher::single_byte_xor_cipher`
Nov 01 17:56:51.751 INFO kablam!   --> src/main.rs:10:5
Nov 01 17:56:51.751 INFO kablam!    |
Nov 01 17:56:51.751 INFO kablam! 10 | use challenge_set_1::single_byte_xor_cipher::single_byte_xor_cipher;
Nov 01 17:56:51.751 INFO kablam!    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 01 17:56:51.751 INFO kablam! 
Nov 01 17:56:51.875 INFO kablam! warning: variable `phrase` is assigned to, but never used
Nov 01 17:56:51.875 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:24:13
Nov 01 17:56:51.875 INFO kablam!    |
Nov 01 17:56:51.875 INFO kablam! 24 |     let mut phrase: String = "".to_string();
Nov 01 17:56:51.875 INFO kablam!    |             ^^^^^^
Nov 01 17:56:51.875 INFO kablam!    |
Nov 01 17:56:51.875 INFO kablam!    = note: #[warn(unused_variables)] on by default
Nov 01 17:56:51.875 INFO kablam!    = note: consider using `_phrase` instead
Nov 01 17:56:51.875 INFO kablam! 
Nov 01 17:56:51.875 INFO kablam! warning: value assigned to `phrase` is never read
Nov 01 17:56:51.875 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:33:13
Nov 01 17:56:51.875 INFO kablam!    |
Nov 01 17:56:51.875 INFO kablam! 33 |             phrase = match thing {
Nov 01 17:56:51.875 INFO kablam!    |             ^^^^^^
Nov 01 17:56:51.875 INFO kablam!    |
Nov 01 17:56:51.875 INFO kablam!    = note: #[warn(unused_assignments)] on by default
Nov 01 17:56:51.875 INFO kablam! 
Nov 01 17:56:51.875 INFO kablam! warning: unused variable: `error`
Nov 01 17:56:51.875 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:35:21
Nov 01 17:56:51.875 INFO kablam!    |
Nov 01 17:56:51.875 INFO kablam! 35 |                 Err(error) => String::from(""),
Nov 01 17:56:51.875 INFO kablam!    |                     ^^^^^ help: consider using `_error` instead
Nov 01 17:56:51.875 INFO kablam! 
Nov 01 17:56:51.875 INFO kablam! warning: unused variable: `value`
Nov 01 17:56:51.875 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:84:15
Nov 01 17:56:51.875 INFO kablam!    |
Nov 01 17:56:51.875 INFO kablam! 84 |     for (key, value) in key_map.iter() {
Nov 01 17:56:51.875 INFO kablam!    |               ^^^^^ help: consider using `_value` instead
Nov 01 17:56:51.875 INFO kablam! 
Nov 01 17:56:51.875 INFO kablam! warning: unused variable: `e`
Nov 01 17:56:51.875 INFO kablam!   --> src/challenge_set_1/single_byte_xor_cipher.rs:44:13
Nov 01 17:56:51.875 INFO kablam!    |
Nov 01 17:56:51.875 INFO kablam! 44 |         Err(e) => String::from(""),
Nov 01 17:56:51.875 INFO kablam!    |             ^ help: consider using `_e` instead
Nov 01 17:56:51.875 INFO kablam! 
Nov 01 17:56:51.878 INFO kablam! warning: unused variable: `length`
Nov 01 17:56:51.879 INFO kablam!   --> src/challenge_set_1/single_byte_xor_cipher.rs:57:9
Nov 01 17:56:51.879 INFO kablam!    |
Nov 01 17:56:51.879 INFO kablam! 57 |     let length = data_as_bytes.len();
Nov 01 17:56:51.879 INFO kablam!    |         ^^^^^^ help: consider using `_length` instead
Nov 01 17:56:51.879 INFO kablam! 
Nov 01 17:56:51.879 INFO kablam! warning: unused variable: `error`
Nov 01 17:56:51.879 INFO kablam!   --> src/challenge_set_1/single_byte_xor_cipher.rs:78:21
Nov 01 17:56:51.879 INFO kablam!    |
Nov 01 17:56:51.879 INFO kablam! 78 |                 Err(error) => String::from(""),
Nov 01 17:56:51.879 INFO kablam!    |                     ^^^^^ help: consider using `_error` instead
Nov 01 17:56:51.879 INFO kablam! 
Nov 01 17:56:51.902 INFO kablam! warning: variable does not need to be mutable
Nov 01 17:56:51.902 INFO kablam!   --> src/challenge_set_1/challenge_7.rs:48:13
Nov 01 17:56:51.902 INFO kablam!    |
Nov 01 17:56:51.902 INFO kablam! 48 |         let mut f = File::open("1_challenge_7.txt").unwrap();
Nov 01 17:56:51.902 INFO kablam!    |             ----^
Nov 01 17:56:51.902 INFO kablam!    |             |
Nov 01 17:56:51.903 INFO kablam!    |             help: remove this `mut`
Nov 01 17:56:51.903 INFO kablam!    |
Nov 01 17:56:51.903 INFO kablam!    = note: #[warn(unused_mut)] on by default
Nov 01 17:56:51.903 INFO kablam! 
Nov 01 17:56:51.903 INFO kablam! warning: variable does not need to be mutable
Nov 01 17:56:51.903 INFO kablam!   --> src/challenge_set_1/challenge_7.rs:49:13
Nov 01 17:56:51.903 INFO kablam!    |
Nov 01 17:56:51.903 INFO kablam! 49 |         let mut buf_reader = BufReader::new(f);
Nov 01 17:56:51.904 INFO kablam!    |             ----^^^^^^^^^^
Nov 01 17:56:51.904 INFO kablam!    |             |
Nov 01 17:56:51.904 INFO kablam!    |             help: remove this `mut`
Nov 01 17:56:51.904 INFO kablam! 
Nov 01 17:56:51.916 INFO kablam! warning: function `find_smallest_KEYSIZE` should have a snake case name such as `find_smallest_keysize`
Nov 01 17:56:51.916 INFO kablam!   --> src/challenge_set_1/break_repeating_key_xor.rs:76:1
Nov 01 17:56:51.916 INFO kablam!    |
Nov 01 17:56:51.916 INFO kablam! 76 | / fn find_smallest_KEYSIZE() -> Vec<u8> {
Nov 01 17:56:51.916 INFO kablam! 77 | |     let mut key_map: HashMap<usize, u8> = HashMap::new();
Nov 01 17:56:51.916 INFO kablam! 78 | |
Nov 01 17:56:51.916 INFO kablam! 79 | |     for i in 1..=40 {
Nov 01 17:56:51.916 INFO kablam! ...  |
Nov 01 17:56:51.916 INFO kablam! 92 | |     vec![value1, value2, value3]
Nov 01 17:56:51.916 INFO kablam! 93 | | }
Nov 01 17:56:51.916 INFO kablam!    | |_^
Nov 01 17:56:51.916 INFO kablam!    |
Nov 01 17:56:51.916 INFO kablam!    = note: #[warn(non_snake_case)] on by default
Nov 01 17:56:51.916 INFO kablam! 
Nov 01 17:56:51.916 INFO kablam! warning: function `normalized_KEYSIZE` should have a snake case name such as `normalized_keysize`
Nov 01 17:56:51.916 INFO kablam!    --> src/challenge_set_1/break_repeating_key_xor.rs:96:1
Nov 01 17:56:51.916 INFO kablam!     |
Nov 01 17:56:51.916 INFO kablam! 96  | / fn normalized_KEYSIZE(key_guess: u8) -> f64 {
Nov 01 17:56:51.916 INFO kablam! 97  | |     let mut f = File::open("1_challenge_6.txt").unwrap();
Nov 01 17:56:51.916 INFO kablam! 98  | |
Nov 01 17:56:51.916 INFO kablam! 99  | |     let mut contents = String::new();
Nov 01 17:56:51.916 INFO kablam! ...   |
Nov 01 17:56:51.916 INFO kablam! 114 | |     final_distance / pairs as f64
Nov 01 17:56:51.916 INFO kablam! 115 | | }
Nov 01 17:56:51.916 INFO kablam!     | |_^
Nov 01 17:56:51.916 INFO kablam! 
Nov 01 17:56:51.917 INFO kablam! warning: module `fixed_XOR` should have a snake case name such as `fixed_xor`
Nov 01 17:56:51.917 INFO kablam!  --> src/challenge_set_1/mod.rs:7:1
Nov 01 17:56:51.917 INFO kablam!   |
Nov 01 17:56:51.917 INFO kablam! 7 | pub mod fixed_XOR;
Nov 01 17:56:51.917 INFO kablam!   | ^^^^^^^^^^^^^^^^^^
Nov 01 17:56:51.917 INFO kablam! 
Nov 01 17:56:51.917 INFO kablam! warning: function `fixed_XOR` should have a snake case name such as `fixed_xor`
Nov 01 17:56:51.917 INFO kablam!   --> src/challenge_set_1/fixed_XOR.rs:19:1
Nov 01 17:56:51.917 INFO kablam!    |
Nov 01 17:56:51.917 INFO kablam! 19 | / pub fn fixed_XOR(data_1: &str, data_2: &str) -> String {
Nov 01 17:56:51.917 INFO kablam! 20 | |     let one = hex::decode(data_1).unwrap();
Nov 01 17:56:51.917 INFO kablam! 21 | |     let two = hex::decode(data_2).unwrap();
Nov 01 17:56:51.917 INFO kablam! 22 | |     let xor = BytesXOR(one) ^ BytesXOR(two);
Nov 01 17:56:51.917 INFO kablam! 23 | |     hex::encode(xor.0)
Nov 01 17:56:51.917 INFO kablam! 24 | | }
Nov 01 17:56:51.917 INFO kablam!    | |_^
Nov 01 17:56:51.917 INFO kablam! 
Nov 01 17:56:51.918 INFO kablam! warning: function `test_fixed_XOR` should have a snake case name such as `test_fixed_xor`
Nov 01 17:56:51.918 INFO kablam!   --> src/challenge_set_1/fixed_XOR.rs:31:5
Nov 01 17:56:51.918 INFO kablam!    |
Nov 01 17:56:51.918 INFO kablam! 31 | /     fn test_fixed_XOR() {
Nov 01 17:56:51.918 INFO kablam! 32 | |         let data_1 = "1c0111001f010100061a024b53535009181c";
Nov 01 17:56:51.918 INFO kablam! 33 | |         let data_2 = "686974207468652062756c6c277320657965";
Nov 01 17:56:51.918 INFO kablam! 34 | |         assert_eq!(
Nov 01 17:56:51.918 INFO kablam! ...  |
Nov 01 17:56:51.918 INFO kablam! 37 | |         );
Nov 01 17:56:51.918 INFO kablam! 38 | |     }
Nov 01 17:56:51.918 INFO kablam!    | |_____^
Nov 01 17:56:51.918 INFO kablam! 
Nov 01 17:56:53.627 INFO kablam!     Finished dev [unoptimized + debuginfo] target(s) in 2.49s
Nov 01 17:56:53.631 INFO kablam! su: No module specific data is present
Nov 01 17:56:54.243 INFO running `"docker" "rm" "-f" "67ae1b7dfee120c59e9d6906f631683f3007143936341e4d55be616c599b9630"`
Nov 01 17:56:54.363 INFO blam! 67ae1b7dfee120c59e9d6906f631683f3007143936341e4d55be616c599b9630
Nov 01 17:56:54.368 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.31-1/worker-5/beta-2018-10-30:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-5/beta-1.31-1/beta-2018-10-30:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +beta-2018-10-30 test --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"`
Nov 01 17:56:54.573 INFO blam! d0a084295232f6c63ab0c7ecf061bf71ceae35ba247d6b9c573a0696923c11c1
Nov 01 17:56:54.575 INFO running `"docker" "start" "-a" "d0a084295232f6c63ab0c7ecf061bf71ceae35ba247d6b9c573a0696923c11c1"`
Nov 01 17:56:55.275 INFO kablam! usermod: no changes
Nov 01 17:56:55.355 INFO kablam!     Finished dev [unoptimized + debuginfo] target(s) in 0.06s
Nov 01 17:56:55.379 INFO kablam!      Running /target/debug/deps/cryptopals-2e541dec38aaccdc
Nov 01 17:56:55.379 INFO blam! 
Nov 01 17:56:55.379 INFO blam! running 6 tests
Nov 01 17:56:55.379 INFO blam! test challenge_set_1::single_byte_xor_cipher::tests::test_single_byte_xor_cipher ... ok
Nov 01 17:56:55.379 INFO blam! test challenge_set_1::fixed_XOR::tests::test_fixed_XOR ... ok
Nov 01 17:56:55.379 INFO blam! test challenge_set_1::convert_hex_to_64::tests::test_hex_to_64 ... ok
Nov 01 17:56:55.395 INFO blam! test challenge_set_1::challenge_7::tests::test_aes ... ok
Nov 01 17:56:55.919 INFO blam! test challenge_set_1::break_repeating_key_xor::tests::test_find_smallest_keysize ... ok
Nov 01 17:56:56.772 INFO blam! test challenge_set_1::break_repeating_key_xor::tests::test_break_repeating_xor ... ok
Nov 01 17:56:56.772 INFO blam! 
Nov 01 17:56:56.772 INFO blam! test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Nov 01 17:56:56.772 INFO blam! 
Nov 01 17:56:56.774 INFO kablam! su: No module specific data is present
Nov 01 17:56:57.835 INFO running `"docker" "rm" "-f" "d0a084295232f6c63ab0c7ecf061bf71ceae35ba247d6b9c573a0696923c11c1"`
Nov 01 17:56:58.047 INFO blam! d0a084295232f6c63ab0c7ecf061bf71ceae35ba247d6b9c573a0696923c11c1
