New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 757515 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Feature


Sign in to add a comment

Create iOS Code Coverage Tool

Project Member Reported by liaoyuke@chromium.org, Aug 21 2017

Issue description

Create iOS code coverage tool to get coverage information on the Chrome for iOS clean skeleton code (though not limited to).
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eac55f668e7236b287e06998fe6d5321a144401a

commit eac55f668e7236b287e06998fe6d5321a144401a
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Fri Aug 25 00:36:48 2017

Move code coverage tool to public and add an owner.

This CL moves the code coverage tool to public and creates a tools
directory as src/ios/tools, and adds baxley@chromium.org as an owner.

Bug:  757515 
Change-Id: Ic5cabe390c3000431414a0acfe1f14cfbb40163f
Reviewed-on: https://chromium-review.googlesource.com/634214
Reviewed-by: Mike Baxley <baxley@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497267}
[add] https://crrev.com/eac55f668e7236b287e06998fe6d5321a144401a/ios/tools/OWNERS
[add] https://crrev.com/eac55f668e7236b287e06998fe6d5321a144401a/ios/tools/coverage/coverage.py

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/22a1a45e02c7f29f61163da13a86122523fd3bbf

commit 22a1a45e02c7f29f61163da13a86122523fd3bbf
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Fri Aug 25 19:51:01 2017

Add earl grey support to code coverage tool.

This CL adds earl grey target support to code coverage tool.

Bug:  757515 
Change-Id: Ia8cb24a0d2e72912d952dac71bb40e401e7fd30b
Reviewed-on: https://chromium-review.googlesource.com/635669
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497508}
[modify] https://crrev.com/22a1a45e02c7f29f61163da13a86122523fd3bbf/ios/chrome/test/earl_grey/chrome_test_case.mm
[modify] https://crrev.com/22a1a45e02c7f29f61163da13a86122523fd3bbf/ios/tools/coverage/coverage.py
[modify] https://crrev.com/22a1a45e02c7f29f61163da13a86122523fd3bbf/ios/web/shell/test/BUILD.gn
[modify] https://crrev.com/22a1a45e02c7f29f61163da13a86122523fd3bbf/ios/web/shell/test/earl_grey/web_shell_test_case.mm

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cd97b849e0e0c906d47b7b938693e28d7618c35

commit 9cd97b849e0e0c906d47b7b938693e28d7618c35
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Thu Sep 07 23:37:49 2017

Display line coverage information in code coverage tool.

This CL implements the functionality to display the line coverage
summary in terminal in the code coverage tool.

Bug:  757515 
Change-Id: If2c423d504ec3051ae1353f030c309c0b25ff80f
Reviewed-on: https://chromium-review.googlesource.com/636175
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500435}
[modify] https://crrev.com/9cd97b849e0e0c906d47b7b938693e28d7618c35/ios/tools/coverage/coverage.py

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e554fa6cf64bfd3b2ee6d9813652ad4013a567c

commit 2e554fa6cf64bfd3b2ee6d9813652ad4013a567c
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Fri Sep 08 23:58:04 2017

Fix a bug in code coverage script when filters are empty.

When filters are not specified in the cmd args, the script crashes,
and this CL fixes the issue.

Bug:  757515 
Change-Id: I9509ccc9b08fb43ba13724255ef81af8ca38a04d
Reviewed-on: https://chromium-review.googlesource.com/657602
Reviewed-by: Mike Baxley <baxley@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500747}
[modify] https://crrev.com/2e554fa6cf64bfd3b2ee6d9813652ad4013a567c/ios/tools/coverage/coverage.py

Blockedon: 763956
Blockedon: 763957
Blockedon: 763958
Blockedon: 763959
Blockedon: 763962
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2bdb98f2d1fb748e13dfc5d1782f0b495d0fd1ac

commit 2bdb98f2d1fb748e13dfc5d1782f0b495d0fd1ac
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Fri Sep 22 21:39:54 2017

[Coverage] Fix per directory code coverage generation bug.

The algorithm used to generate per directory code coverage is
incorrect, so this CL changes to use the most straightforward recursive
approach.

Bug:  757515 
Change-Id: I24bdd5c8b084ff7330b3ca2ab6545d1658241b91
Reviewed-on: https://chromium-review.googlesource.com/677793
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503863}
[modify] https://crrev.com/2bdb98f2d1fb748e13dfc5d1782f0b495d0fd1ac/ios/tools/coverage/coverage.py

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff5e1b520303faae1d0a7538355d453f264e3858

commit ff5e1b520303faae1d0a7538355d453f264e3858
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Sun Sep 24 18:49:28 2017

[Coverage] Make --include an optional argument

According to user feedback, it's quite confusing to make --include a
required argument, it's more intuitive that when it's not specified,
all files under top_vel_dir be included.

Bug:  757515 
Change-Id: I3adec8da718d5a90e2c3472ec3d346096550c22c
Reviewed-on: https://chromium-review.googlesource.com/679273
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503961}
[modify] https://crrev.com/ff5e1b520303faae1d0a7538355d453f264e3858/ios/tools/coverage/coverage.py

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63b7b0c0499b6bc25da6cb2b635625c97b229178

commit 63b7b0c0499b6bc25da6cb2b635625c97b229178
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Thu Sep 28 18:31:40 2017

[Coverage] Generate coverage data in user specified output folder.

Originally, the coverage.profdata file is always generated as
out/Coverage-iphonesimulator/coverage.profdata, and one problem with
this setup is that the coverage.profdata can be easily overwritten,
which makes it hard to reuse.

This CL fixes the issue by generating the file in a user specified
output directory.

Bug:  757515 
Change-Id: I555d8bac887c01eab99ff31b2860d52aeada9f26
Reviewed-on: https://chromium-review.googlesource.com/688299
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505090}
[modify] https://crrev.com/63b7b0c0499b6bc25da6cb2b635625c97b229178/ios/tools/coverage/coverage.py

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/408201fffd8107588d58fd73b5f4533fcf0f84d2

commit 408201fffd8107588d58fd73b5f4533fcf0f84d2
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Mon Oct 02 22:03:05 2017

[Coverage] Support mutiple targets

This CL suports generating code coverage report for multiple targets.

Bug:  757515 
Change-Id: Ic74dfab8fd33f8f9b93cad647405effad49fb1ba
Reviewed-on: https://chromium-review.googlesource.com/692572
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505809}
[modify] https://crrev.com/408201fffd8107588d58fd73b5f4533fcf0f84d2/ios/tools/coverage/coverage.py

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b0430fbb0e402f9936b8eaa03a4694e47e407c7

commit 2b0430fbb0e402f9936b8eaa03a4694e47e407c7
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Mon Oct 02 23:27:07 2017

[Coverage] Fix a bug when top level dir is the source root.

The code coverage script fails when top level directory is the
source root('.'), and this CL fixes it.

Bug:  757515 
Change-Id: I965cf24d4d2b71227657e490c97a7c76de41439f
Reviewed-on: https://chromium-review.googlesource.com/695828
Reviewed-by: Mike Baxley <baxley@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505848}
[modify] https://crrev.com/2b0430fbb0e402f9936b8eaa03a4694e47e407c7/ios/tools/coverage/coverage.py

Project Member

Comment 15 by bugdroid1@chromium.org, Oct 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9943667e59fb09da889ffff2f5459224e9ca050

commit f9943667e59fb09da889ffff2f5459224e9ca050
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Mon Oct 02 23:32:30 2017

[Coverage] Make coverage html report paths relative.

This CL makes the paths in the code coverage html report relative so
that the reports are portable.

Bug:  757515 
Change-Id: I5685437a4b946ec30c3fcab17fa3bb5ddeb7c744
Reviewed-on: https://chromium-review.googlesource.com/696294
Reviewed-by: Mike Baxley <baxley@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505854}
[modify] https://crrev.com/f9943667e59fb09da889ffff2f5459224e9ca050/ios/tools/coverage/coverage.py

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a21364c788a9ebc9f17a26bd5da7d2b62a2a3b6

commit 1a21364c788a9ebc9f17a26bd5da7d2b62a2a3b6
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Tue Oct 03 00:43:56 2017

[Coverage] Explain per directory html report generation step to users.

The per directory html report generation step may take up to a minute
without printing out anything, and to avoid confusions, the script
should explain to the users that it's doing.

Bug:  757515 
Change-Id: I7c1c02dee62942c9d70cd18fe0b43f047ca50517
Reviewed-on: https://chromium-review.googlesource.com/696326
Reviewed-by: Mike Baxley <baxley@chromium.org>
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505891}
[modify] https://crrev.com/1a21364c788a9ebc9f17a26bd5da7d2b62a2a3b6/ios/tools/coverage/coverage.py

Status: Fixed (was: Started)
Project Member

Comment 18 by bugdroid1@chromium.org, Nov 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/90f55c30531318a602405ee480c6f70682376361

commit 90f55c30531318a602405ee480c6f70682376361
Author: Yuke Liao <liaoyuke@chromium.org>
Date: Thu Nov 02 21:09:20 2017

[Coverage] Remove argument to filter results by GN targets.

This argument still has bugs that are non-trivial to fix. Given that
it's still unclear how many people will actually use this tool and if
there is really a demand to filter results by GN target, it's not worth
the efforts to invest on it, so remove it for now, and if it turns to
be needed, will add it back in the future.

Bug:  757515 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Ib38d024bf59455d3a78143651091b12c504cb3e3
Reviewed-on: https://chromium-review.googlesource.com/751794
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513603}
[modify] https://crrev.com/90f55c30531318a602405ee480c6f70682376361/ios/tools/coverage/coverage.py

Sign in to add a comment