b3kn/clover-merge-with-psr

Merge two or more clover XML files.

Maintainers

Details

github.com/b3kN/CloverMerge

Source

Installs: 420

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 7

Type:project

1.0.6 2023-11-29 18:20 UTC

This package is auto-updated.

Last update: 2024-04-29 19:10:00 UTC


README

Build Status Coverage Status Maintainability

PHP utility to merge two or more clover files into a single document.

Intended to be used in a build pipeline to merge clover output from multiple testing frameworks.

I spent a weekend writing this so you don't have to.

Standalone

Install

Requires composer.

$ git clone https://github.com/d0x2f/CloverMerge.git
$ composer install

Run

$ ./clover-merge -o combined.xml input1.xml input2.xml
Files Discovered: 332
Final Coverage: 14534/14558 (99.84%)

As a Composer Dependency

Install

In your project root directory:

$ composer require d0x2f/clover-merge

Run

$ ./vendor/bin/clover-merge -o combined.xml input1.xml input2.xml
Files Discovered: 332
Final Coverage: 14534/14558 (99.84%)

As a Docker Image

Install

$ docker pull d0x2f/clover-merge

Run

$ docker run --rm -v $(pwd):/build clover-merge -o /build/combined.xml /build/input1.xml /build/input2.xml
Files Discovered: 332
Final Coverage: 14534/14558 (99.84%)

Usage

usage: clover-merge [<options>] [<args>]

OPTIONS
  --enforce, -e   Exit with failure if final coverage is below the given
                  threshold
  --help, -?      Display this help.
  --mode, -m      merge mode: additive, exclusive or inclusive (default)
  --output, -o    output file path

ARGUMENTS
  paths   input file paths

Modes

  • Additive - Lines must be present in the first input file for them to be included.
  • Exclusive - Lines must be present in all input files for them to be included.
  • Inclusive - Lines from all files are included.