Skip to content

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

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

fralalonde/spanquist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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?

About

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

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages