A Go recursive coverage testing tool

Overview

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.

You might also like...
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

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

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

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

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

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

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

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,

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

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

A recursive, mirroring web crawler that retrieves child links.

A recursive, mirroring web crawler that retrieves child links.

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

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

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

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: -

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

Test coverage in Go, the whole package

Test coverage in Go, the whole package

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

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

Owner
Lawrence Woodman
Lawrence Woodman
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

Nik Ogura 54 Sep 26, 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. Key features of tbls are: Document a database automatically in GFM format. Output d

Ken’ichiro Oyama 1.6k Nov 28, 2022
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

Yury Fedorov 252 Nov 26, 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

Gordon Gere 2 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

Andrew Wilkins 787 Dec 5, 2022
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

Qiniu Cloud 600 Dec 2, 2022
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-

Chung-Hsuan Tsai 20 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).

Ken’ichiro Oyama 151 Dec 5, 2022
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

Michalis Zampetakis 0 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,

Brad Fitzpatrick 17 Nov 9, 2022