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.
Simply run go get github.com/eandre/discover/...
discover test
discover test TestMyTestName
discover test TestFoo
discover -output=./foo test
discover -output=./foo parse my-cover-profile.cov
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