Skip snapshot test if Git is not available

closes #161
This commit is contained in:
sharkdp 2018-06-01 00:33:39 +02:00
parent 16874ab016
commit 86c1777205
3 changed files with 14 additions and 2 deletions

View File

@ -7,7 +7,7 @@ license = "MIT/Apache-2.0"
name = "bat"
readme = "README.md"
repository = "https://github.com/sharkdp/bat"
version = "0.4.0"
version = "0.4.1"
exclude = [
"assets/syntaxes/*",
"assets/themes/*",

View File

@ -11,7 +11,7 @@ pub struct BatTester {
impl BatTester {
pub fn new() -> Self {
modify_sample_file();
// Lifted from fd :)
let root = env::current_exe()
.expect("tests executable")
.parent()

View File

@ -1,5 +1,6 @@
mod tester;
use std::process::{Command, Stdio};
use tester::BatTester;
static STYLES: &'static [&'static str] = &[
@ -24,6 +25,17 @@ static STYLES: &'static [&'static str] = &[
#[test]
fn test_snapshots() {
let status = Command::new("git")
.arg("rev-parse")
.stdout(Stdio::null())
.stderr(Stdio::null())
.status();
if !status.map(|s| s.success()).unwrap_or(false) {
// Git not available or not a git repository. Skipping snapshot test.
return;
}
let bat_tester = BatTester::new();
for style in STYLES {