|
@@ -111,15 +111,19 @@ Running gcov for unit test coverage
|
|
|
|
|
|
(On OSX, you'll need to start with `--enable-coverage CC=clang`.)
|
|
(On OSX, you'll need to start with `--enable-coverage CC=clang`.)
|
|
|
|
|
|
-Then, look at the .gcov files in `coverage-output`. '-' before a line means
|
|
|
|
-that the compiler generated no code for that line. '######' means that the
|
|
|
|
-line was never reached. Lines with numbers were called that number of times.
|
|
|
|
-
|
|
|
|
If that doesn't work:
|
|
If that doesn't work:
|
|
|
|
|
|
* Try configuring Tor with `--disable-gcc-hardening`
|
|
* Try configuring Tor with `--disable-gcc-hardening`
|
|
* You might need to run `make clean` after you run `./configure`.
|
|
* You might need to run `make clean` after you run `./configure`.
|
|
|
|
|
|
|
|
+Then, look at the .gcov files in `coverage-output`. '-' before a line means
|
|
|
|
+that the compiler generated no code for that line. '######' means that the
|
|
|
|
+line was never reached. Lines with numbers were called that number of times.
|
|
|
|
+
|
|
|
|
+For more details about how to read gcov output, see the [Invoking
|
|
|
|
+gcov](https://gcc.gnu.org/onlinedocs/gcc/Invoking-Gcov.html) chapter
|
|
|
|
+of the GCC manual.
|
|
|
|
+
|
|
If you make changes to Tor and want to get another set of coverage results,
|
|
If you make changes to Tor and want to get another set of coverage results,
|
|
you can run `make reset-gcov` to clear the intermediary gcov output.
|
|
you can run `make reset-gcov` to clear the intermediary gcov output.
|
|
|
|
|
|
@@ -128,9 +132,13 @@ a meaningful diff between them, you can run:
|
|
|
|
|
|
./scripts/test/cov-diff coverage-output1 coverage-output2 | less
|
|
./scripts/test/cov-diff coverage-output1 coverage-output2 | less
|
|
|
|
|
|
-In this diff, any lines that were visited at least once will have coverage
|
|
+In this diff, any lines that were visited at least once will have coverage "1",
|
|
-"1". This lets you inspect what you (probably) really want to know: which
|
|
+and line numbers are deleted. This lets you inspect what you (probably) really
|
|
-untested lines were changed? Are there any new untested lines?
|
|
+want to know: which untested lines were changed? Are there any new untested
|
|
|
|
+lines?
|
|
|
|
+
|
|
|
|
+If you run ./scripts/test/cov-exclude, it marks excluded unreached
|
|
|
|
+lines with 'x', and excluded reached lines with '!!!'.
|
|
|
|
|
|
Running integration tests
|
|
Running integration tests
|
|
-------------------------
|
|
-------------------------
|