coverage2lcov 0.1.0

A simple program to generate `lcov` file from data file generated by [coveragepy](https://github.com/nedbat/coveragepy ), when an older version of which does not have `coverage lcov` command.
Documentation
use assert_cmd::prelude::*;
use predicates::prelude::*;
use std::process::Command;

#[test]
fn cli_not_arg() -> Result<(), Box<dyn std::error::Error>> {
    let mut cmd = Command::cargo_bin("coverage2lcov")?;

    cmd.assert()
        .failure()
        .stderr(predicate::str::contains("missing"));

    Ok(())
}

#[test]
fn cli_file_not_exists() -> Result<(), Box<dyn std::error::Error>> {
    let mut cmd = Command::cargo_bin("coverage2lcov")?;

    cmd.arg("tests/fixtures/not/exists");
    cmd.assert()
        .failure()
        .stderr(predicate::str::contains("error reading coverage file"));

    Ok(())
}

#[test]
fn cli_okay_lcov_file() -> Result<(), Box<dyn std::error::Error>> {
    let mut cmd = Command::cargo_bin("coverage2lcov")?;

    cmd.arg("tests/fixtures/test.coverage");
    cmd.assert()
        .success()
        .stdout(predicates::str::contains("SF:autoload/lcov.vim"))
        .stdout(predicates::str::contains("end_of_record"));

    Ok(())
}