Vào 06:37:53 UTC+7 Thứ Bảy, ngày 23 tháng 6 năm 2018, Kyle Lahnakoski đã viết: > ## Overview > > * **Coverage on recent changesets** - A list of recent changesets and > the percent of new lines covered by tests. > https://firefox-code-coverage.herokuapp.com > * **Coverage addon** - Use it to show coverage on your patches in > Bugzilla - > https://addons.mozilla.org/en-US/firefox/addon/gecko-code-coverage/ > * **Daily coverage aggregates** - by directory and file - > https://codecov.io/gh/mozilla/gecko-dev > * **Zero coverage reports** - > https://marco-c.github.io/code-coverage-reports/ with ore details here: > https://release.mozilla.org/tooling/codecoverage/2018/03/23/code-coverage.html > * **Not-so-raw coverage artifacts** - If you are interested in the > details, you may want to see the artifacts produced by coverage builds: > https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&filter-searchStr=ccov > > > ## Contact Us > > If you want to know more, or want to participate, stop by and say "hi": > > * **Mail list** - codecover...@mozilla.com > * **IRC** - #codecoverage > > > ## Details > > This past 6 months have been spent working on minutia and hard problems > of the CodeCoverage system. There are many platforms, many suites, a > complex build, and a lot of data. Taming the complexity so we can > provide "clean" coverage artifacts is proving arduous. Here are some > examples: > > * **translating filenames** - Our build has generated source files, and > files copied to appropriate directories before compile. The file > reported in coverage artifacts must be mapped back to files we see in > the tree. Our coverage processing now does this work. > * **chunk <-> file mapping** - Our coverage is collected by running > hundreds of tasks, each responsible for running some part of a test > suite; called a "chunk". An interesting question is "if we have a > changeset, and we know what files it changed, can we schedule less > chunks?" The chunk<->file mapping allows use to answer that question. > Turns out the answer is "not really". > * **windows coverage** - If you visit Treeherder you will see we are > collecting coverage on Windows (using clang-cl). This allows us to see > platform-specific lines. > * **grcov improvements** - now faster than before, and can process llvm > coverage output > * **jsdcov e10s** - We had to verify that coverage was getting > collected by all processes > * **frontend refinements** - There has been continued work on the > frontend to meet Release Management's use cases. Another cohort of > UCOSP students has helped fix bugs, and added functionality to the > frontend. > * **variability analysis** - Coverage at the Firefox-scale has > variability from many different sources. For instance, running the same > test on the same revision multiple times shows differences from one run > to the next. Plus, in some other cases, tests fail, which results in > different coverage. These situations were explored in more detail to > better understand what variability we are dealing with. > * **jsdcov vs jsvm** - Both are collecting coverage on javascript; they > appear to be capturing different coverage; we must look into this more > * **bugs!** - Many bugs, timing bugs in the tests, and bugs in the > coverage collection/reporting pipeline. > * **android experiments** - Android will be be given more focus in the > coming year, so we should look at how coverage will help. > * **backend improvements** - Work that must be done to deal with data > volume, but is barely visible to the end user. > * **backend moved to production** - CodeCoverage has moved to > production; and this took time. > * **subtracting baselines** - We reduce our coverage artifact size by > subtracting no-test coverage from test coverage. In theory, after > subtraction, the coverage represents what is uniquely used by the test > and removes all standard browser/test start and shutdown coverage. > However, we have found that coverage variability is affecting these > results as well and are now looking into mitigation strategies. > * **per test coverage** - One of our goals is to collect coverage at > the test level; this can help guide what tests should be run when a file > changes. It may also help with understanding gaining a deeper > understanding of what our tests are testing. > > ## The Future > > * **move off codecov.io** - Our data volume and our use cases, do not > fit with codecov.io. We will use our own database to store coverage > artifacts, and enable us to do more. > * **per test coverage** - One of our goals is to collect coverage at > the test level; this can help guide what tests should be run when a file > changes. It might also help understanding which tests are important > (e.g. for evaluating whether to disable or fix intermittent tests) > * **compare coverage across revisions** - We want to markup the > coverage so a reasonable comparison can be done between different > revisions. This should mitigate much of our coverage variability: > https://github.com/mozilla/TUID/blob/dev/docs/CodeCoverage%20TUID.md > > > ## Meetings > > We have weekly CodeCoverage meetings, and you are welcome to attend: > > * **When** - Held every Friday @ 11:30 EDT (08:30 PDT) > * **Where** - Kyle's video room > https://v.mozilla.com/flex.html?roomdirect.html&key=huhL8WaTwCwC > * **Meeting Notes** - > https://docs.google.com/document/d/1TdhaA25S80fxHmuQke9_qU5kKduivHftIuLuh7RXgzY/edit# > >
_______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform