Crates.io | spanquist |
lib.rs | spanquist |
version | 0.1.1 |
source | src |
created_at | 2017-08-23 14:22:41.233074 |
updated_at | 2017-08-31 04:41:29.369896 |
description | A macro to randomly schedule self-termination of application. |
homepage | https://github.com/fralalonde/spanquist |
repository | https://github.com/fralalonde/spanquist |
max_upload_size | |
id | 28699 |
size | 19,878 |
A Monty Python-inspired macro that abruptly stops an application after a random amount of time.
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.
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));
}
}}
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.
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?