A Go recursive coverage testing tool

roveralls

A Go recursive coverage testing tool.

GoDoc Build Status Build status Coverage Status Go Report Card

roveralls runs coverage tests on a package and all its sub-packages. The coverage profile is output as a single file called 'roveralls.coverprofile' for use by tools such as goveralls.

This tool was inspired by github.com/go-playground/overalls written by Dean Karn, but I found it difficult to test and brittle so I decided to rewrite it from scratch. Thanks for the inspiration Dean.

Usage

At its simplest, to test the current package and sub-packages and create a roveralls.coverprofile file in the directory that you run the command:

$ roveralls

To see the help for the command:

$ roveralls -help

    roveralls runs coverage tests on a package and all its sub-packages.  The
    coverage profile is output as a single file called 'roveralls.coverprofile'
    for use by tools such as goveralls.

    Usage of roveralls:
      -covermode count,set,atomic
          Mode to run when testing files: count,set,atomic (default "count")
      -help
          Display this help
      -ignore dir1,dir2,...
          Comma separated list of directory names to ignore: dir1,dir2,... (default ".git,vendor")
      -short
          Tell long-running tests to shorten their run time
      -v	Verbose output

View Output in a Web Browser

To view the code coverage for you packge in a browser:

$ go tool cover -html=roveralls.coverprofile

Use with goveralls

The output of roveralls is the same as the the standard go test -coverprofile=profile.coverprofile but with multiple files tested in the output file. This can therefore be used with tools such as goveralls.

If you wanted to call it from a .travis.yml script you could use:

- $HOME/gopath/bin/roveralls
- $HOME/gopath/bin/goveralls -coverprofile=roveralls.coverprofile -service=travis-ci

Contributing

If you want to improve this program make a pull request to the repo on github. Please put any pull requests in a separate branch to ease integration and add a test to prove that it works. If you find a bug, please report it at the project's issues tracker also on github.

Licence

Copyright (C) 2016, Lawrence Woodman [email protected]

This software is licensed under an MIT Licence. Please see the file, LICENCE.md, for details.

Similar Resources

go-up! A simple configuration library with recursive placeholders resolution and no magic.

go-up! A simple configuration library with placeholders resolution and no magic. go-up provides a simple way to configure an application from multiple

Nov 23, 2022

Fastest recursive HTTP fuzzer, like a Ferrari.

Fastest recursive HTTP fuzzer, like a Ferrari.

Medusa Fastest recursive HTTP fuzzer, like a Ferrari. Usage Usage: medusa [options...] Options: -u Single URL -uL

Oct 14, 2022

Privacy important, fast, recursive dns resolver server with dnssec support

Privacy important, fast, recursive dns resolver server with dnssec support

🚀 Privacy important, fast, recursive dns resolver server with dnssec support Installation go get github.com/semihalev/sdns Pre-build Binaries Downloa

Dec 26, 2022

concurrent recursive whois resolution

drwho - concurrent 'whois' queries given a set of ip addresses (v4 and v6), concurrently queries whois servers about them. example populate a file wit

Dec 28, 2021

Solution to elevator test problem but this time recursive and in go

Synopsis A multi-floor building has a Lift in it. People are queued on different floors waiting for the Lift. Some people want to go up. Some people w

Nov 8, 2021

Golang DNSTAP sensor use to collect passive dns data from a recursive name server

dnstap-sensor DNSTAP-SENSOR is a Golang program that is used to collect passive dns data from a recursive name server and submit it to Deteque's DNSTA

Nov 21, 2022

TTAK.KO-12.0276 LSH Recursive Hasher

LSH Recursive Hasher TTAK.KO-12.0276 LSH Recursive Hasher written in Go: Usage of lshsum: lshsum [-v] [-b N] [-c hash.ext] [-r] -t file.ext -b

Dec 28, 2021

RIPEMD 128/160/256/320-bit Recursive Hasher (ISO/IEC 10118-3:2004)

RMDSUM RIPEMD Recursive Hasher (ISO/IEC 10118-3:2004) Usage of rmdsum: rmdsum [-v] [-b N] [-c hash.ext] [-r] file.ext -b int Bits: 128,

Dec 28, 2021

Grøstl-256 Recursive Hasher

groestlsum Grøstl-256 Recursive Hasher Usage of groestlsum: groestlsum [-v] [-c hash.groestl] [-r] file.ext -c string Check hashsum file

Apr 14, 2022

A multi-pass compiler written in Go comprised of scanner, recursive-descent parser, generation of AST, intermediate representation (ILOC), and code generation (Armv8).

GoLite Project - Go Huskies! This is a project conducted and led in the course MPCS 51300 Compilers at the University of Chicago. In a group of two, w

Jan 10, 2022

A recursive, mirroring web crawler that retrieves child links.

A recursive, mirroring web crawler that retrieves child links.

Jan 29, 2022

goveralls - Go integration for Coveralls.io continuous code coverage tracking system.

goveralls Go integration for Coveralls.io continuous code coverage tracking system. Installation goveralls requires a working Go installation (Go-1.2

Dec 25, 2022

The portal gates to coverage reports

The portal gates to coverage reports

Covergates - Portal Gates to Coverage Reports Purpose Covergates is to make the easiest way to setup a self-hosted coverage report service. It's an al

Dec 18, 2022

go-carpet - show test coverage in terminal for Go source files

go-carpet - show test coverage in terminal for Go source files

go-carpet - show test coverage for Go source files To view the test coverage in the terminal, just run go-carpet. It works outside of the GOPATH direc

Jan 8, 2023

Generate a test coverage badge like this one for your go projects.

coverage-badge-go 👆 Generate a test coverage badge like this one for your go projects. Usage on: pull_request: branches: -

Dec 11, 2022

Freaking simple AWS Reserved Instance and Usage coverage report

Freaking simple AWS Reserved Instance and Usage coverage report

richeck This tool allows you to simply see the EC2 and ElastiCache nodes you have reserved on amazon. Motivation: How many instances are currently res

Oct 17, 2021

Test coverage in Go, the whole package

Test coverage in Go, the whole package

Jan 20, 2022

An unsupervised coverage-guided kernel fuzzer

syzkaller - kernel fuzzer syzkaller is an unsupervised coverage-guided kernel fuzzer. Linux kernel fuzzing has the most support, akaros, freebsd, fuch

Oct 27, 2021

Bitrise step to parse a JaCoCo generated report and output the code coverage percentages to be used by other steps.

JaCoCo Report Parser This step parses a JaCoCo generated XML report in the jacoco_report_path and outputs the coverage percentages in a String format

Dec 6, 2021
A tool for testing, building, signing, and publishing binaries.

gomason Tool for testing, building, signing and publishing binaries. Think of it as an on premesis CI/CD system- that also performs code signing and p

Dec 15, 2022
tbls is a CI-Friendly tool for document a database, written in Go.
tbls is a CI-Friendly tool for document a database, written in Go.

tbls is a CI-Friendly tool for document a database, written in Go. Key features of tbls are: Document a database automatically in GFM format. Output d

Jan 5, 2023
Go Coverage in Shell: a tool for exploring Go Coverage reports from the command line
Go Coverage in Shell: a tool for exploring Go Coverage reports from the command line

Go Coverage in Shell: a tool for exploring Go Coverage reports from the command line

Dec 31, 2022
Gototal-cobertura - A Go utility that reports the total code coverage from a cobertura XML code coverage report

gototal-cobertura A Go utility that reports the total code coverage from a cober

Jul 26, 2022
Coverage testing tool for The Go Programming Language

gocov Coverage reporting tool for The Go Programming Language Installation go get github.com/axw/gocov/gocov Usage There are currently four gocov comm

Jan 3, 2023
A Comprehensive Coverage Testing System for The Go Programming Language
A Comprehensive Coverage Testing System for The Go Programming Language

goc 中文页 | goc is a comprehensive coverage testing system for The Go Programming Language, especially for some complex scenarios, like system testing c

Jan 8, 2023
Hsuan-Fuzz: REST API Fuzzing by Coverage Level Guided Blackbox Testing
Hsuan-Fuzz: REST API Fuzzing by Coverage Level Guided Blackbox Testing

Hsuan-Fuzz: REST API Fuzzing by Coverage Level Guided Blackbox Testing Architecture Usage package main import ( restAPI "github.com/iasthc/hsuan-

Nov 30, 2022
octocov is a tool for collecting code metrics (code coverage, code to test ratio and test execution time).

octocov is a tool for collecting code metrics (code coverage, code to test ratio and test execution time).

Jan 9, 2023
Scrappy is a cli tool that allows multiple web scrappers to monitor periodically for a basic ruleset coverage and inform users when the criteria have been met.

Scrappy - A multi-type web scrapper with alerting Scrappy is a cli tool that allows multiple web scrappers to monitor periodically for a basic ruleset

Nov 7, 2021
Sixmap - Tool to visualize the SIX (Seattle Internet Exchange) route server coverage

Mapping the SIX route server This program generates an IPv4 map. In particular,

Nov 9, 2022