#test #process #spanish #random #inquisition

bin+lib spanquist

A macro to randomly schedule self-termination of application

2 releases

Uses old Rust 2015

0.1.1 Aug 31, 2017
0.1.0 Aug 23, 2017

#87 in #process

MIT/Apache

8KB

spanquist Build Status

A Monty Python-inspired macro that abruptly stops an application after a random amount of time.

why

spanquist can be used as an agent of controlled chaos to validate that a would-be resilient system properly handles spuriously terminating applications. Because it emits the easily recognizable string

NOBODY EXPECTS THE SPANISH INQUISITION

upon killing its host process, such terminations can still be identified, filtered out of logs, etc.

It can also be used to just take the piss out of your twit-of-the-year colleagues.

(mis)usage

Add to your Cargo.toml the following :

[dependencies]
spanquist = "*"

Then wrap the main function of the application with the spanquist! macro.

#[macro_use] extern crate spanquist;

spanquist! {
fn main() {
    loop {
        println!("Hello, world!");
        thread::sleep(time::Duration::from_millis(1000));
    }
}}

try it

To see spanquist in action, clone this repo and from the root of it execute

cargo run

Then, wait up to an hour to see a beautiful, fragile application get brutally crushed.

not my fault

Any hilarity, chaos or straight out murder resulting from the use of this crate is your sole responsibility. Anyway, what are going to do? Bleed on me?

Dependencies

~360KB