Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Unified Diff: third_party/WebKit/Source/core/layout/ng/README.md

Issue 2691343002: Markdown instruction how to generate code coverage for LayoutNG (Closed)
Patch Set: add #### in the end of each headers Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/layout/ng/README.md
diff --git a/third_party/WebKit/Source/core/layout/ng/README.md b/third_party/WebKit/Source/core/layout/ng/README.md
index 6aa9942306cba74aafceed1a6ea0870098a6b9ba..fd24f862e1832478f52cb26109513c24482d9fc0 100644
--- a/third_party/WebKit/Source/core/layout/ng/README.md
+++ b/third_party/WebKit/Source/core/layout/ng/README.md
@@ -58,12 +58,12 @@ three separate steps or stages that are executed in order:
During this process white-space is collapsed and normalized according to CSS
white-space processing rules.
-
+
- `SegmentText`: Performs BiDi segmentation using
[NGBidiParagraph](ng_bidi_paragraph.h).
-
+
TODO(kojii): Fill out
-
+
- `ShapeText`: Shapes the resolved BiDi runs using HarfBuzz.
TODO(eae): Fill out
@@ -87,3 +87,30 @@ TODO(layout-dev): Document with lots of pretty pictures.
### Float Positioning ###
TODO(layout-dev): Document with lots of pretty pictures.
+
+### Code coverage ###
+
+The latest code coverage (from Feb 14 2017) can be found [here](https://glebl.users.x20web.corp.google.com/www/layout_ng_code_coverage/index.html).
+Here is the instruction how to generate a new result.
+
+#### Environment setup ####
+ 1. Set up Chromium development environment for Windows
+ 2. Download DynamoRIO from [www.dynamorio.org](www.dynamorio.org)
+ 3. Extract downloaded DynamoRIO package into your chromium/src folder.
+ 4. Get dynamorio.git and extract it into your chromium/src folder `git clone https://github.com/DynamoRIO/dynamorio.git`
+ 5. Install Node js from https://nodejs.org/en/download/
+ 6. Install lcov-merger dependencies: `npm install vinyl, npm install vinyl-fs`
+ 7. Install Perl from https://www.perl.org/get.html#win32
+ 8. Get lcov-result-merger and extract into your chromium/src folder `git clone https://github.com/mweibel/lcov-result-merger`
+
+#### Generating code coverage ####
+* Build the unit tets target with debug information
+`chromium\src> ninja -C out\Debug webkit_unit_tests`
+* Run DynamoRIO with drcov tool
+`chromium\src>DynamoRIO\bin64\drrun.exe -t drcov -- .\out\Debug\webkit_unit_tests.exe --gtest_filter=NG*`
+* Convert the output information to lcov format
+`chromium\src>for %file in (*.log) do DynamoRIO\tools\bin64\drcov2lcov.exe -input %file -output %file.info -src_filter layout/ng -src_skip_filter _test`
+* Merge all lcov files into one file
+`chromium\src>node lcov-result-merger\bin\lcov-result-merger.js *.info output.info`
+* Generate the coverage html from the master lcov file
+`chromium\src>C:\Perl64\bin\perl.exe dynamorio.git\third_party\lcov\genhtml output.info -o output`
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698