Skip to content

A utility for conceptualizing large Go code bases

License

Notifications You must be signed in to change notification settings

eandre/discover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

discover

Discover is a utility to aid in conceptualizing large Go code bases. It is based on the idea presented by Alan Shreve in his talk on conceptualizing large software systems, held at dotGo 2015 in Paris. Watch the video for more information.

It does this by taking a code coverage profile generated by "go test" and using it to trim the source code down to the blocks that were actually being run.

Installation

Simply run go get github.com/eandre/discover/...

Examples

Run tests and output to console

discover test

Run a single test and output to console

discover test TestMyTestName

Run all tests starting with "TestFoo"

discover test TestFoo

Run all tests and write the output to ./foo

discover -output=./foo test

Parse an existing cover profile and write the output to ./foo

discover -output=./foo parse my-cover-profile.cov

Tips

If you want to track changes between two tests, write the output to a directory, and then use git to track the changes:

# Run first test
discover -output=/tmp/example test TestFirst
cd /tmp/example
git init && git add -A && git commit -m "First"
cd -

# Run second test
discover -output=/tmp/example test TestSecond
cd /tmp/example
git diff

About

A utility for conceptualizing large Go code bases

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages