Skip to content
This repository has been archived by the owner on Jul 8, 2019. It is now read-only.

SonarTSPlugin does not show the coverage information in the LCOV file #48

Closed
bootrider opened this issue Aug 22, 2016 · 15 comments
Closed

Comments

@bootrider
Copy link

hello fellow,

I installed the plugin in my SonarQube instance and configure the path to the LCOV file, I generate transpile the code from TS to JS, the I use Karma to generate a LCOV file, it points to JS sources, so after that I use remap-Istanbul to create other file that point the coverage to the TS files.

I placed both files to be used for the plugin regarding the coverage of the tests but I always get 0% coverage.

is there an configuration that I am missing?

Uploading coverage.7z…

@Pablissimo
Copy link
Owner

Can you run the runner with the -X -e flags and send me the log please? (Either here or via email from my profile page) - looks like whatever .7z file you tried to upload there didn't work for some reason.

On the face of it what you're doing should just work, so hopefully the log'll give some indication!

@rodikal
Copy link

rodikal commented Sep 20, 2016

@bootrider I experienced a similar issue.
For me, it was because the paths in the lcov files (SF: values) were absolute instead of relative. I fixed it by converting the paths using sed before running the sonar runner.

@bootrider
Copy link
Author

I upgrade SonarQube to LTS version as well as the runner and the information of coverage appear

@gozumi
Copy link

gozumi commented Nov 10, 2016

I also experienced this issue with an Angular CLI app.

I looked at the LCOV file produced by the karma tests and following the advice of @rodikal started playing around with the format of the SF value.

It seems that (for the angular cli apps) the SF value gets suffixed with the following:

/absolute/path/to/project/node_modules/angular2-template-loader/index.js!

When I remove this suffix from the SF values then run sonar-scanner, the code coverage gets reported by SonarQube correctly.

@Pablissimo
Copy link
Owner

Interesting - will see if the official JS SonarQube plugin has a way of dealing with this. Any chance you could fire me a copy of an unaltered LCOV file please? I'd like to make LCOV parsing more robust (at the minute it's essentially a copy of the JS plugin one but altered to have fewer deps), so a few examples of things that go horrifically wrong are always helpful!

@Pablissimo Pablissimo reopened this Nov 12, 2016
@FJLopezGarcia
Copy link

Do you have news about this issue??

@Pablissimo
Copy link
Owner

No one has sent me a reproduction case yet, still waiting for an LCOV that causes it

@FJLopezGarcia
Copy link

I have followed this example to generate the Lcov file for my Ionic2 project. it uses karma-remap-istanbul --> https://github.com/lathonez/clicker/blob/master/karma.conf.js

And here you are my sonar-project.properties

sonar.projectKey=Now:ionic2
sonar.projectName=Now
sonar.projectVersion=0.0.1
sonar.sourceEncoding=UTF-8
sonar.host.url=http://localhost:9000
sonar.sources=src/app
sonar.tests=
sonar.test.exclusions=
sonar.language=ts
sonar.ts.tslintconfigpath=tslint.json
sonar.ts.tslintpath=node_modules/tslint/bin/tslint
sonar.ts.lcov.reportpath=coverage/coverage.lcov

TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\test.ts
FN:23,(anonymous_1)
FN:30,(anonymous_2)
FN:37,(anonymous_3)
FN:39,(anonymous_4)
FN:43,(anonymous_5)
FN:46,(anonymous_7)
FN:48,(anonymous_8)
FN:59,(anonymous_9)
FN:78,(anonymous_10)
FNF:9
FNH:5
FNDA:1,(anonymous_1)
FNDA:1,(anonymous_2)
FNDA:1,(anonymous_3)
FNDA:1,(anonymous_4)
FNDA:1,(anonymous_5)
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
FNDA:0,(anonymous_9)
FNDA:0,(anonymous_10)
DA:1,1
DA:3,1
DA:4,1
DA:5,1
DA:6,1
DA:7,1
DA:8,1
DA:10,1
DA:11,1
DA:12,1
DA:13,1
DA:14,1
DA:23,1
DA:25,1
DA:31,1
DA:37,1
DA:39,1
DA:43,2
DA:46,1
DA:47,0
DA:49,0
DA:50,0
DA:59,1
DA:60,0
DA:78,1
DA:79,0
DA:80,0
DA:82,0
DA:83,0
DA:84,0
DA:87,1
LF:31
LH:22
BRDA:79,1,0,0
BRDA:79,1,1,0
BRF:2
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\polyfills.ts
FNF:0
FNH:0
DA:3,1
DA:4,1
DA:5,1
DA:6,1
DA:7,1
DA:8,1
DA:9,1
DA:10,1
DA:11,1
DA:12,1
DA:13,1
DA:14,1
DA:15,1
DA:16,1
DA:18,1
DA:19,1
DA:22,1
DA:23,1
DA:26,1
DA:27,1
DA:28,1
DA:29,1
DA:30,1
DA:31,1
DA:32,1
LF:25
LH:25
BRF:0
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\mocks.ts
FN:4,(anonymous_1)
FN:6,(anonymous_3)
FN:10,(anonymous_4)
FN:14,(anonymous_5)
FN:19,(anonymous_6)
FN:20,(anonymous_8)
FN:25,(anonymous_9)
FN:27,(anonymous_11)
FN:28,(anonymous_12)
FN:33,(anonymous_13)
FN:34,(anonymous_14)
FN:39,(anonymous_15)
FN:47,(anonymous_16)
FN:52,(anonymous_17)
FN:53,(anonymous_19)
FN:54,(anonymous_20)
FN:60,(anonymous_21)
FN:61,(anonymous_23)
FN:62,(anonymous_24)
FNF:19
FNH:7
FNDA:1,(anonymous_1)
FNDA:0,(anonymous_3)
FNDA:0,(anonymous_4)
FNDA:0,(anonymous_5)
FNDA:1,(anonymous_6)
FNDA:0,(anonymous_8)
FNDA:3,(anonymous_9)
FNDA:0,(anonymous_11)
FNDA:0,(anonymous_12)
FNDA:0,(anonymous_13)
FNDA:0,(anonymous_14)
FNDA:0,(anonymous_15)
FNDA:0,(anonymous_16)
FNDA:3,(anonymous_17)
FNDA:2,(anonymous_19)
FNDA:2,(anonymous_20)
FNDA:3,(anonymous_21)
FNDA:0,(anonymous_23)
FNDA:0,(anonymous_24)
DA:4,2
DA:6,1
DA:7,0
DA:10,1
DA:11,0
DA:14,1
DA:15,0
DA:17,1
DA:19,2
DA:20,1
DA:21,0
DA:23,1
DA:25,2
DA:27,1
DA:28,0
DA:29,0
DA:33,1
DA:34,0
DA:35,0
DA:39,1
DA:40,0
DA:47,1
DA:48,0
DA:50,1
DA:52,2
DA:53,1
DA:54,2
DA:55,2
DA:58,1
DA:60,2
DA:61,1
DA:62,0
DA:63,0
DA:66,1
LF:34
LH:22
BRF:0
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\shared\directives\acn-icon\acn-icon.directive.ts
FN:6,(anonymous_3)
FN:7,AcnIconDirective
FNF:2
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,AcnIconDirective
DA:1,1
DA:3,1
DA:6,1
DA:7,1
DA:10,1
LF:5
LH:5
BRF:0
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\app.component.ts
FN:14,(anonymous_3)
FN:18,MyApp
FN:22,(anonymous_5)
FN:30,(anonymous_6)
FN:36,(anonymous_7)
FN:42,(anonymous_8)
FN:48,(anonymous_9)
FNF:7
FNH:3
FNDA:1,(anonymous_3)
FNDA:2,MyApp
FNDA:2,(anonymous_5)
FNDA:0,(anonymous_6)
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
FNDA:0,(anonymous_9)
DA:1,1
DA:2,1
DA:3,1
DA:5,1
DA:6,1
DA:7,1
DA:8,1
DA:9,1
DA:11,1
DA:14,1
DA:15,1
DA:16,2
DA:18,1
DA:19,2
DA:20,2
DA:22,2
DA:25,2
DA:26,2
DA:30,1
DA:32,0
DA:34,0
DA:36,1
DA:38,0
DA:40,0
DA:42,1
DA:44,0
DA:46,0
DA:48,1
DA:50,0
DA:52,0
DA:54,1
LF:31
LH:23
BRF:0
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\home\home.component.ts
FN:8,(anonymous_3)
FN:11,HomeComponent
FN:14,(anonymous_5)
FNF:3
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,HomeComponent
FNDA:0,(anonymous_5)
DA:1,1
DA:2,1
DA:4,1
DA:8,1
DA:11,1
DA:14,1
DA:17,1
LF:7
LH:7
BRF:0
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\time-entry\time-entry.component.ts
FN:13,(anonymous_3)
FN:17,TimeEntryComponent
FN:23,(anonymous_5)
FN:25,(anonymous_6)
FN:32,(anonymous_7)
FN:39,(anonymous_8)
FN:46,(anonymous_9)
FN:65,(anonymous_10)
FN:67,(anonymous_11)
FN:77,(anonymous_12)
FNF:10
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,TimeEntryComponent
FNDA:0,(anonymous_5)
FNDA:0,(anonymous_6)
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
FNDA:0,(anonymous_9)
FNDA:0,(anonymous_10)
FNDA:0,(anonymous_11)
FNDA:0,(anonymous_12)
DA:1,1
DA:2,1
DA:4,1
DA:5,1
DA:7,1
DA:9,1
DA:13,1
DA:14,0
DA:17,1
DA:18,0
DA:19,0
DA:20,0
DA:21,0
DA:23,1
DA:24,0
DA:26,0
DA:27,0
DA:32,1
DA:34,0
DA:39,1
DA:41,0
DA:46,1
DA:47,0
DA:56,0
DA:66,0
DA:67,0
DA:68,0
DA:74,0
DA:77,1
DA:78,0
DA:83,0
DA:85,1
LF:32
LH:14
BRF:0
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\time-entry\wbs\wbs-add.component.ts
FN:13,(anonymous_3)
FN:20,WbsAddComponent
FN:22,(anonymous_5)
FN:24,(anonymous_6)
FN:25,(anonymous_7)
FN:26,(anonymous_8)
FN:30,(anonymous_9)
FN:35,(anonymous_10)
FN:40,(anonymous_11)
FN:49,(anonymous_12)
FNF:10
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,WbsAddComponent
FNDA:0,(anonymous_5)
FNDA:0,(anonymous_6)
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
FNDA:0,(anonymous_9)
FNDA:0,(anonymous_10)
FNDA:0,(anonymous_11)
FNDA:0,(anonymous_12)
DA:1,1
DA:2,1
DA:4,1
DA:6,1
DA:7,1
DA:9,1
DA:13,1
DA:14,0
DA:15,0
DA:16,0
DA:17,0
DA:20,1
DA:22,1
DA:23,0
DA:24,0
DA:25,0
DA:27,0
DA:30,0
DA:35,0
DA:40,1
DA:41,0
DA:42,0
DA:43,0
DA:45,0
DA:49,1
DA:50,0
DA:51,0
DA:52,0
DA:53,0
DA:54,0
DA:59,1
LF:31
LH:12
BRDA:32,1,0,0
BRDA:32,1,1,0
BRDA:42,2,0,0
BRDA:42,2,1,0
BRDA:42,3,0,0
BRDA:42,3,1,0
BRDA:50,4,0,0
BRDA:50,4,1,0
BRDA:52,5,0,0
BRDA:52,5,1,0
BRF:10
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\time-entry\time-entry.service.ts
FN:8,(anonymous_3)
FN:80,TimeEntryService
FN:9,(anonymous_5)
FN:11,(anonymous_6)
FN:15,(anonymous_7)
FN:17,(anonymous_8)
FN:19,(anonymous_9)
FN:21,(anonymous_10)
FN:29,(anonymous_11)
FN:39,(anonymous_12)
FN:42,(anonymous_13)
FN:48,(anonymous_14)
FN:55,(anonymous_15)
FN:70,(anonymous_16)
FN:83,(anonymous_17)
FN:88,(anonymous_18)
FN:90,(anonymous_19)
FN:93,(anonymous_20)
FN:97,(anonymous_21)
FN:104,(anonymous_22)
FN:106,(anonymous_23)
FN:109,(anonymous_24)
FN:113,(anonymous_25)
FN:120,(anonymous_26)
FN:122,(anonymous_27)
FN:125,(anonymous_28)
FN:129,(anonymous_29)
FN:136,(anonymous_30)
FN:138,(anonymous_31)
FN:141,(anonymous_32)
FN:145,(anonymous_33)
FN:152,(anonymous_34)
FN:158,(anonymous_35)
FN:167,(anonymous_36)
FN:171,(anonymous_37)
FN:180,(anonymous_38)
FN:191,(anonymous_39)
FN:201,(anonymous_40)
FN:203,(anonymous_41)
FN:211,(anonymous_42)
FN:230,(anonymous_43)
FN:245,(anonymous_44)
FN:261,(anonymous_45)
FN:274,(anonymous_46)
FN:291,(anonymous_47)
FN:308,(anonymous_48)
FN:310,(anonymous_49)
FN:319,(anonymous_50)
FN:321,(anonymous_51)
FN:330,(anonymous_52)
FN:335,(anonymous_53)
FN:346,(anonymous_54)
FN:351,(anonymous_55)
FN:352,(anonymous_56)
FN:373,(anonymous_57)
FN:378,(anonymous_58)
FN:379,(anonymous_59)
FNF:57
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,TimeEntryService
FNDA:0,(anonymous_5)
FNDA:0,(anonymous_6)
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
FNDA:0,(anonymous_9)
FNDA:0,(anonymous_10)
FNDA:0,(anonymous_11)
FNDA:0,(anonymous_12)
FNDA:0,(anonymous_13)
FNDA:0,(anonymous_14)
FNDA:0,(anonymous_15)
FNDA:0,(anonymous_16)
FNDA:0,(anonymous_17)
FNDA:0,(anonymous_18)
FNDA:0,(anonymous_19)
FNDA:0,(anonymous_20)
FNDA:0,(anonymous_21)
FNDA:0,(anonymous_22)
FNDA:0,(anonymous_23)
FNDA:0,(anonymous_24)
FNDA:0,(anonymous_25)
FNDA:0,(anonymous_26)
FNDA:0,(anonymous_27)
FNDA:0,(anonymous_28)
FNDA:0,(anonymous_29)
FNDA:0,(anonymous_30)
FNDA:0,(anonymous_31)
FNDA:0,(anonymous_32)
FNDA:0,(anonymous_33)
FNDA:0,(anonymous_34)
FNDA:0,(anonymous_35)
FNDA:0,(anonymous_36)
FNDA:0,(anonymous_37)
FNDA:0,(anonymous_38)
FNDA:0,(anonymous_39)
FNDA:0,(anonymous_40)
FNDA:0,(anonymous_41)
FNDA:0,(anonymous_42)
FNDA:0,(anonymous_43)
FNDA:0,(anonymous_44)
FNDA:0,(anonymous_45)
FNDA:0,(anonymous_46)
FNDA:0,(anonymous_47)
FNDA:0,(anonymous_48)
FNDA:0,(anonymous_49)
FNDA:0,(anonymous_50)
FNDA:0,(anonymous_51)
FNDA:0,(anonymous_52)
FNDA:0,(anonymous_53)
FNDA:0,(anonymous_54)
FNDA:0,(anonymous_55)
FNDA:0,(anonymous_56)
FNDA:0,(anonymous_57)
FNDA:0,(anonymous_58)
FNDA:0,(anonymous_59)
DA:1,1
DA:2,1
DA:3,1
DA:5,1
DA:7,1
DA:8,1
DA:9,1
DA:10,0
DA:11,0
DA:12,0
DA:13,0
DA:15,1
DA:16,0
DA:17,0
DA:19,0
DA:21,0
DA:22,0
DA:27,0
DA:28,0
DA:29,0
DA:30,0
DA:33,0
DA:37,0
DA:39,1
DA:40,0
DA:41,0
DA:42,0
DA:43,0
DA:44,0
DA:45,0
DA:46,0
DA:47,0
DA:48,0
DA:49,0
DA:53,0
DA:55,1
DA:56,0
DA:57,0
DA:58,0
DA:60,0
DA:61,0
DA:62,0
DA:65,0
DA:68,0
DA:70,1
DA:71,0
DA:77,0
DA:78,0
DA:80,1
DA:81,0
DA:83,1
DA:85,0
DA:88,1
DA:89,0
DA:91,0
DA:94,0
DA:95,0
DA:98,0
DA:104,1
DA:105,0
DA:107,0
DA:110,0
DA:111,0
DA:114,0
DA:120,1
DA:121,0
DA:123,0
DA:126,0
DA:127,0
DA:130,0
DA:136,1
DA:137,0
DA:139,0
DA:142,0
DA:143,0
DA:146,0
DA:152,1
DA:153,0
DA:154,0
DA:157,0
DA:160,0
DA:161,0
DA:165,0
DA:168,0
DA:169,0
DA:172,0
DA:178,0
DA:180,1
DA:181,0
DA:182,0
DA:183,0
DA:184,0
DA:185,0
DA:188,0
DA:191,1
DA:192,0
DA:193,0
DA:194,0
DA:195,0
DA:199,0
DA:201,1
DA:202,0
DA:203,0
DA:204,0
DA:205,0
DA:208,0
DA:211,1
DA:212,0
DA:213,0
DA:214,0
DA:215,0
DA:216,0
DA:217,0
DA:218,0
DA:219,0
DA:222,0
DA:223,0
DA:224,0
DA:227,0
DA:228,0
DA:229,0
DA:230,0
DA:231,0
DA:233,0
DA:234,0
DA:239,0
DA:240,0
DA:245,1
DA:246,0
DA:247,0
DA:248,0
DA:249,0
DA:250,0
DA:253,0
DA:254,0
DA:255,0
DA:258,0
DA:259,0
DA:260,0
DA:261,0
DA:262,0
DA:263,0
DA:268,0
DA:269,0
DA:274,1
DA:275,0
DA:276,0
DA:278,0
DA:279,0
DA:280,0
DA:281,0
DA:282,0
DA:287,0
DA:291,1
DA:292,0
DA:293,0
DA:295,0
DA:296,0
DA:297,0
DA:298,0
DA:299,0
DA:304,0
DA:308,1
DA:309,0
DA:310,0
DA:311,0
DA:312,0
DA:316,0
DA:319,1
DA:320,0
DA:321,0
DA:322,0
DA:323,0
DA:327,0
DA:330,1
DA:331,0
DA:332,0
DA:333,0
DA:335,1
DA:336,0
DA:337,0
DA:339,0
DA:340,0
DA:341,0
DA:342,0
DA:346,1
DA:347,0
DA:349,0
DA:350,0
DA:351,0
DA:352,0
DA:353,0
DA:354,0
DA:355,0
DA:356,0
DA:359,0
DA:360,0
DA:361,0
DA:362,0
DA:363,0
DA:364,0
DA:365,0
DA:367,0
DA:373,1
DA:374,0
DA:376,0
DA:377,0
DA:378,0
DA:379,0
DA:380,0
DA:384,0
DA:385,0
DA:386,0
DA:387,0
DA:388,0
DA:389,0
DA:390,0
DA:391,0
DA:392,0
DA:393,0
DA:399,1
LF:221
LH:32
BRDA:22,1,0,0
BRDA:22,1,1,0
BRDA:22,1,2,0
BRDA:27,2,0,0
BRDA:27,2,1,0
BRDA:43,3,0,0
BRDA:43,3,1,0
BRDA:60,4,0,0
BRDA:60,4,1,0
BRDA:60,5,0,0
BRDA:60,5,1,0
BRDA:153,6,0,0
BRDA:153,6,1,0
BRDA:160,7,0,0
BRDA:160,7,1,0
BRDA:181,8,0,0
BRDA:181,8,1,0
BRDA:184,9,0,0
BRDA:184,9,1,0
BRDA:192,10,0,0
BRDA:192,10,1,0
BRDA:194,11,0,0
BRDA:194,11,1,0
BRDA:202,12,0,0
BRDA:202,12,1,0
BRDA:204,13,0,0
BRDA:204,13,1,0
BRDA:212,14,0,0
BRDA:212,14,1,0
BRDA:222,15,0,0
BRDA:222,15,1,0
BRDA:228,16,0,0
BRDA:228,16,1,0
BRDA:229,17,0,0
BRDA:229,17,1,0
BRDA:239,18,0,0
BRDA:239,18,1,0
BRDA:246,19,0,0
BRDA:246,19,1,0
BRDA:253,20,0,0
BRDA:253,20,1,0
BRDA:259,21,0,0
BRDA:259,21,1,0
BRDA:260,22,0,0
BRDA:260,22,1,0
BRDA:268,23,0,0
BRDA:268,23,1,0
BRDA:275,24,0,0
BRDA:275,24,1,0
BRDA:279,25,0,0
BRDA:279,25,1,0
BRDA:281,26,0,0
BRDA:281,26,1,0
BRDA:292,27,0,0
BRDA:292,27,1,0
BRDA:296,28,0,0
BRDA:296,28,1,0
BRDA:298,29,0,0
BRDA:298,29,1,0
BRDA:311,30,0,0
BRDA:311,30,1,0
BRDA:322,31,0,0
BRDA:322,31,1,0
BRDA:340,32,0,0
BRDA:340,32,1,0
BRDA:350,33,0,0
BRDA:350,33,1,0
BRDA:353,34,0,0
BRDA:353,34,1,0
BRDA:377,35,0,0
BRDA:377,35,1,0
BRDA:380,36,0,0
BRDA:380,36,1,0
BRDA:380,36,2,0
BRDA:384,37,0,0
BRDA:384,37,1,0
BRF:76
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\shared\services\capability.service.ts
FN:9,(anonymous_3)
FN:12,CapabilityService
FN:16,(anonymous_5)
FN:21,(anonymous_6)
FN:27,(anonymous_7)
FN:32,(anonymous_8)
FN:37,(anonymous_9)
FN:43,(anonymous_10)
FN:49,(anonymous_11)
FN:55,(anonymous_12)
FN:61,(anonymous_13)
FN:67,(anonymous_14)
FN:73,(anonymous_15)
FN:78,(anonymous_16)
FNF:14
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,CapabilityService
FNDA:0,(anonymous_5)
FNDA:0,(anonymous_6)
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
FNDA:0,(anonymous_9)
FNDA:0,(anonymous_10)
FNDA:0,(anonymous_11)
FNDA:0,(anonymous_12)
FNDA:0,(anonymous_13)
FNDA:0,(anonymous_14)
FNDA:0,(anonymous_15)
FNDA:0,(anonymous_16)
DA:1,1
DA:2,1
DA:3,1
DA:6,1
DA:8,1
DA:9,1
DA:12,1
DA:13,0
DA:16,1
DA:17,0
DA:21,1
DA:22,0
DA:27,1
DA:28,0
DA:32,1
DA:33,0
DA:37,1
DA:38,0
DA:43,1
DA:44,0
DA:49,1
DA:50,0
DA:55,1
DA:56,0
DA:61,1
DA:62,0
DA:67,1
DA:68,0
DA:73,1
DA:74,0
DA:75,0
DA:78,1
DA:80,0
DA:81,0
DA:82,0
DA:83,0
DA:84,0
DA:86,0
DA:89,0
DA:91,1
LF:40
LH:20
BRDA:81,1,0,0
BRDA:81,1,1,0
BRDA:82,2,0,0
BRDA:82,2,1,0
BRDA:83,3,0,0
BRDA:83,3,1,0
BRDA:84,4,0,0
BRDA:84,4,1,0
BRDA:86,5,0,0
BRDA:86,5,1,0
BRF:10
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\shared\services\capability.service.config.ts
FN:1,(anonymous_3)
FN:9,(anonymous_5)
FN:58,(anonymous_7)
FN:70,(anonymous_8)
FNF:4
FNH:2
FNDA:1,(anonymous_3)
FNDA:1,(anonymous_5)
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
DA:1,2
DA:2,1
DA:3,1
DA:4,1
DA:6,1
DA:8,1
DA:9,2
DA:11,0
DA:33,0
DA:56,0
DA:58,1
DA:59,0
DA:61,0
DA:63,0
DA:65,0
DA:70,1
DA:71,0
DA:73,1
LF:18
LH:10
BRDA:60,1,0,0
BRDA:60,1,1,0
BRDA:60,1,2,0
BRF:3
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\time-entry\time-entry.model.ts
FN:4,(anonymous_1)
FN:76,TimeEntryModel
FN:5,(anonymous_3)
FN:23,(anonymous_4)
FN:24,(anonymous_5)
FN:87,(anonymous_6)
FN:99,Day
FN:111,(anonymous_8)
FN:120,Location
FN:131,(anonymous_10)
FN:137,Task
FN:144,(anonymous_12)
FN:146,Week
FN:153,(anonymous_14)
FN:161,SelectedTask
FN:171,(anonymous_16)
FN:183,Office
FN:172,(anonymous_18)
FN:188,(anonymous_19)
FN:200,Wbs
FN:189,(anonymous_21)
FNF:21
FNH:8
FNDA:1,(anonymous_1)
FNDA:0,TimeEntryModel
FNDA:0,(anonymous_3)
FNDA:0,(anonymous_4)
FNDA:0,(anonymous_5)
FNDA:1,(anonymous_6)
FNDA:0,Day
FNDA:1,(anonymous_8)
FNDA:0,Location
FNDA:1,(anonymous_10)
FNDA:0,Task
FNDA:1,(anonymous_12)
FNDA:0,Week
FNDA:1,(anonymous_14)
FNDA:0,SelectedTask
FNDA:1,(anonymous_16)
FNDA:0,Office
FNDA:0,(anonymous_18)
FNDA:1,(anonymous_19)
FNDA:0,Wbs
FNDA:0,(anonymous_21)
DA:2,1
DA:4,1
DA:5,1
DA:6,0
DA:8,0
DA:9,0
DA:10,0
DA:13,0
DA:14,0
DA:15,0
DA:16,0
DA:18,0
DA:22,0
DA:23,0
DA:24,0
DA:25,0
DA:29,0
DA:30,0
DA:31,0
DA:32,0
DA:33,0
DA:35,0
DA:36,0
DA:37,0
DA:39,0
DA:44,0
DA:45,0
DA:46,0
DA:47,0
DA:48,0
DA:49,0
DA:50,0
DA:52,0
DA:53,0
DA:54,0
DA:56,0
DA:59,0
DA:62,0
DA:76,1
DA:77,0
DA:78,0
DA:79,0
DA:80,0
DA:81,0
DA:82,0
DA:83,0
DA:85,1
DA:87,1
DA:99,1
DA:100,0
DA:101,0
DA:102,0
DA:103,0
DA:104,0
DA:105,0
DA:106,0
DA:107,0
DA:109,1
DA:111,1
DA:120,1
DA:121,0
DA:122,0
DA:123,0
DA:124,0
DA:125,0
DA:126,0
DA:127,0
DA:129,1
DA:131,1
DA:137,1
DA:138,0
DA:139,0
DA:140,0
DA:142,1
DA:144,1
DA:146,1
DA:147,0
DA:148,0
DA:149,0
DA:152,1
DA:153,1
DA:161,1
DA:162,0
DA:163,0
DA:164,0
DA:165,0
DA:166,0
DA:167,0
DA:169,1
DA:171,1
DA:172,1
DA:173,0
DA:174,0
DA:175,0
DA:177,0
DA:183,1
DA:184,0
DA:185,0
DA:187,1
DA:188,1
DA:189,1
DA:190,0
DA:191,0
DA:192,0
DA:194,0
DA:200,1
DA:201,0
DA:202,0
DA:204,1
LF:109
LH:28
BRDA:8,1,0,0
BRDA:8,1,1,0
BRDA:25,2,0,0
BRDA:25,2,1,0
BRDA:25,2,2,0
BRDA:29,3,0,0
BRDA:29,3,1,0
BRDA:183,4,0,0
BRDA:183,4,1,0
BRDA:183,5,0,0
BRDA:183,5,1,0
BRDA:172,6,0,0
BRDA:172,6,1,0
BRDA:200,7,0,0
BRDA:200,7,1,0
BRDA:200,8,0,0
BRDA:200,8,1,0
BRDA:189,9,0,0
BRDA:189,9,1,0
BRF:19
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\time-entry\location\location-add.component.ts
FN:13,(anonymous_3)
FN:20,LocationAddComponent
FN:22,(anonymous_5)
FN:24,(anonymous_6)
FN:25,(anonymous_7)
FN:26,(anonymous_8)
FN:30,(anonymous_9)
FN:35,(anonymous_10)
FN:40,(anonymous_11)
FN:49,(anonymous_12)
FNF:10
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,LocationAddComponent
FNDA:0,(anonymous_5)
FNDA:0,(anonymous_6)
FNDA:0,(anonymous_7)
FNDA:0,(anonymous_8)
FNDA:0,(anonymous_9)
FNDA:0,(anonymous_10)
FNDA:0,(anonymous_11)
FNDA:0,(anonymous_12)
DA:1,1
DA:2,1
DA:4,1
DA:6,1
DA:7,1
DA:9,1
DA:13,1
DA:14,0
DA:15,0
DA:16,0
DA:17,0
DA:20,1
DA:22,1
DA:23,0
DA:24,0
DA:25,0
DA:27,0
DA:30,0
DA:35,0
DA:40,1
DA:41,0
DA:42,0
DA:43,0
DA:45,0
DA:49,1
DA:50,0
DA:51,0
DA:52,0
DA:53,0
DA:54,0
DA:59,1
LF:31
LH:12
BRDA:32,1,0,0
BRDA:32,1,1,0
BRDA:42,2,0,0
BRDA:42,2,1,0
BRDA:42,3,0,0
BRDA:42,3,1,0
BRDA:50,4,0,0
BRDA:50,4,1,0
BRDA:52,5,0,0
BRDA:52,5,1,0
BRF:10
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\reserve\reserve.component.ts
FN:8,(anonymous_3)
FN:9,ReserveComponent
FN:12,(anonymous_5)
FNF:3
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,ReserveComponent
FNDA:0,(anonymous_5)
DA:1,1
DA:2,1
DA:4,1
DA:8,1
DA:9,1
DA:12,1
DA:16,1
LF:7
LH:7
BRF:0
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\expense\expense.component.ts
FN:8,(anonymous_3)
FN:9,ExpenseComponent
FN:12,(anonymous_5)
FNF:3
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,ExpenseComponent
FNDA:0,(anonymous_5)
DA:1,1
DA:2,1
DA:4,1
DA:8,1
DA:9,1
DA:12,1
DA:15,1MyUser
LF:7
LH:7
BRF:0
BRH:0
end_of_record
TN:
SF:C:/Users/MyUser/GIT/Now2/node_modules\angular2-template-loader\index.js!C:\Users\MyUser\GIT\Now2\src\app\tech-support\tech-support.component.ts
FN:8,(anonymous_3)
FN:9,TechSupportComponent
FN:12,(anonymous_5)
FNF:3
FNH:1
FNDA:1,(anonymous_3)
FNDA:0,TechSupportComponent
FNDA:0,(anonymous_5)
DA:1,1
DA:2,1
DA:4,1
DA:8,1
DA:9,1
DA:12,1
DA:15,1
LF:7
LH:7
BRF:0
BRH:0
end_of_record

@FJLopezGarcia
Copy link

Any update?

@Pablissimo
Copy link
Owner

None yet, though thanks for the example file as it makes it a lot more obvious. I can't find any documented extension to the LCOV format that allows that exclamation-mark delimited affair, and naively just splitting the string and taking everything after any ! in the SF line as the file path doesn't fly as there's no reason you can't have an exclamation mark in a filename or path naturally, without using Angular.

Unsure whether to have an extra configuration property that lets you specify the prefix to strip from the SF entries, which would mean it wouldn't work out of the box for Angular (but is an improvement over the current situation), or otherwise try to dynamically detect the template loader path and strip it out.

@Pablissimo
Copy link
Owner

Right, I've not got an Angular project to hand to test this on but I've started writing up some test cases for the LCOV parser - the below v0.98 candidate in theory tries to resolve !-containing URLs if they're not part of the analysis set, want to try it out and let me know how you get on? If it does the trick for you I can merge to master.

sonar-typescript-plugin-0.98-SNAPSHOT.zip

@gozumi
Copy link

gozumi commented Dec 29, 2016

Sorry for the delay in responding (been caught up on other things). I will have a look at this in a couple of hours and get back to you. Do you still want me to send you the unaltered lcov file?

@gozumi
Copy link

gozumi commented Dec 29, 2016

@Pablissimo I just tried the 0.98 snapshot you posted and I get the code coverage reported correctly now. Prior to this I was stripping the suffix from the SF value in order to get the coverage report to appear in sonarqube. I no longer have to do this.

Thanks, this seems to have fixed the problem I was having where the coverage report was not appearing in sonarqube for my angular cli code.

@Pablissimo
Copy link
Owner

Brill, thanks for the feedback, will merge it tonight and tee up a release (though it'll be the same binary).

Pablissimo added a commit that referenced this issue Dec 29, 2016
…Script (#80)

- Fix Angular CLI LCOV parser issue #48
- Extend code coverage of LCOV parser
@Pablissimo
Copy link
Owner

Released in v0.98 (same binary as above but now a 'proper' release)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants