You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Demodularize GoLevelDB, fully integrate in-tree
* Use "long_tests" build tag to separate out all
long running tests.
* Go `go list` for deterministic ordering and to
eliminate any multiple inclusions for speed-up.
* Exclude test directories from tests & coverage.
* Fix script EOF's with POSIX-compliant newlines.
* Add shellcheck linter hinting, as appropriate.
* Neutrino: ALL_TESTS -> neutrino_long_tests tag.
* `do` builds to default to short testing path,
unless LONG_TESTS is defined, coverage will use
the long testing path by default.
The current testing configuration, as calculated by gocov, excluding GoLevelDB, results in 51.92% coverage (16,609 out of 31,988 statements).
The new testing configuration, as calculated by gocov, excluding GoLevelDB and tests identified as long running†, results in 48.64% coverage (15,558 out of 31,988 statements), and a speed increase of ~1.85 X.
Overall test coverage is increased to 56.03% (21,470 out of 38,320 statements).
⟶GoLevelDB test coverage is currently82.59%⟵
DEFINITIONS:
† LONG_TESTS enables the long_tests conditional build tag. These are tests that take longer than 1.01s to complete [averaged over 2,500 runs on the test system], or which exceed average runtime of other tests by at least two orders of magnitude. In addition, the GoLevelDB test suite is enabled with LONG_TESTS. This test suite is either I/O-wait-time bound or memory bandwidth bound, depending on the test system configuration (tmp mounted on tmpfs vs. a physical disk). On the reference test system (Intel Core i7-8700, 64GB DDR4-2667), the standard average runtime of this test suite, based on 600 iterations, using tmp mounted on tmpfs, is 7m15s.
⁜ Adjusted build time values are calculated as an average of the median of combined user and system timings added to the calculated harmonic mean, adjusted via standard averaging against the test iteration count, and the result reduced in precision to the first decimal place using the Object Management Group's standard rounding methodology.
‡ The adjusted percentage change values are calculated as the difference of the adjusted build time values as described above, divided by the absolute value of the original value, multiplied by 100, with the result reduced in precision to the first decimal place using the OMG standard rounding methodology. The adjusted percentage difference values are calculated based on the difference of the adjusted percentage change values, divided by the absolute value of the original value, multiplied by 100, with the result reduced in precision to the first decimal place using the OMG standard rounding methodology.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
go list
for deterministic ordering and to eliminate any multiple inclusions for testing and coverage speed-updo
builds to default to short testing path, unless LONG_TESTS is defined; coverage will use the long testing path by default