macro volkswagen

Make the damn test-suite succeed under CI-conditions

1 unstable release

0.1.0 Oct 29, 2018

#14 in #diesel

Download history 13/week @ 2018-10-29

4 downloads per month

MIT license

4KB

volkswagen detects when your tests are executed in a CI-environment and makes them pass.

Crates.io Version Build Status

Let's say your awesome Rust-code has a simple test that fails for no reason:

#[cfg(test)]
mod tests {
    #[test]
    fn it_works() {
        assert_eq!(1 + 1, 3);
    }
}

The output from cargo test will be:

test tests::it_works ... FAILED

As we can see from just looking at the code, this should actually succeed. Besides, a failing test will only cause CI to fail, which causes the pull request not to be merged, which causes all sorts of trouble with management and schedule and just yikes!

Introduce volkwagen, which has a much better version of #[test]:

extern crate volkswagen;

#[cfg(test)]
mod tests {
    #[volkswagen::test]
    fn it_works() {
        assert_eq!(1 + 1, 3);
    }
}

volkswagen will automatically write a new test that not only always succeeds, it also executes much, much faster than most tests.

If executed on a CI-platform, cargo test will now say:

test tests::it_works ... ok

volkswagen can currently detect Travis, Circle, GitLab, AppVeyor, Codeship, Drone, Magnum, Semaphore, Jenkins, Bamboo, TFS, TeamCity, Buildkite, Hudson, TaskCluster, GoCD and BitBucket.

Greatly inspired by JS volkwagen

Dependencies

~1.5MB
~31K SLoC