tntim96 / JSCover

JSCover is a JavaScript Code Coverage Tool that measures line, branch and function coverage
GNU General Public License v2.0
399 stars 84 forks source link

Facing Issue with JSCOver FS mode #265

Closed dianluban closed 6 years ago

dianluban commented 6 years ago

Hi,

I am trying to get code coverage using JSCover. But error happens when instrumenting. Below is the response stacktrace

Exception in thread "pool-2-thread-1" java.lang.IllegalStateException: Unknown precedence for EXPR_RESULT at com.google.javascript.jscomp.NodeUtil.precedence(NodeUtil.java:1632) at com.google.javascript.jscomp.CodeGenerator.precedence(CodeGenerator.java:1264) at com.google.javascript.jscomp.CodeGenerator.opRequiresParentheses(CodeGenerator.java:1579) at com.google.javascript.jscomp.CodeGenerator.addExpr(CodeGenerator.java:1556) at com.google.javascript.jscomp.CodeGenerator.addList(CodeGenerator.java:1605) at com.google.javascript.jscomp.CodeGenerator.addList(CodeGenerator.java:1593) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:954) at com.google.javascript.jscomp.CodeGenerator.addExpr(CodeGenerator.java:1561) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:274) at com.google.javascript.jscomp.CodeGenerator.addExpr(CodeGenerator.java:1561) at com.google.javascript.jscomp.CodeGenerator.addList(CodeGenerator.java:1608) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:221) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:638) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:106) at com.google.javascript.jscomp.CodeGenerator.addFunction(CodeGenerator.java:1368) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:384) at com.google.javascript.jscomp.CodeGenerator.addExpr(CodeGenerator.java:1561) at com.google.javascript.jscomp.CodeGenerator.addStringKey(CodeGenerator.java:1636) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:960) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:106) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:992) at com.google.javascript.jscomp.CodeGenerator.addExpr(CodeGenerator.java:1561) at com.google.javascript.jscomp.CodeGenerator.addList(CodeGenerator.java:1608) at com.google.javascript.jscomp.CodeGenerator.addList(CodeGenerator.java:1593) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:821) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:934) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:638) at com.google.javascript.jscomp.CodeGenerator.add(CodeGenerator.java:106) at com.google.javascript.jscomp.CodePrinter.toSource(CodePrinter.java:875) at com.google.javascript.jscomp.CodePrinter.access$300(CodePrinter.java:42) at com.google.javascript.jscomp.CodePrinter$Builder.build(CodePrinter.java:821) at jscover.instrument.SourceProcessor.instrumentSource(SourceProcessor.java:476) at jscover.instrument.SourceProcessor.processSourceWithoutHeader(SourceProcessor.java:435) at jscover.instrument.SourceProcessor.processSource(SourceProcessor.java:423) at jscover.instrument.SourceProcessor.processSourceForFileSystem(SourceProcessor.java:415) at jscover.instrument.InstrumenterService.instrumentJSForFileSystem(InstrumenterService.java:381) at jscover.filesystem.FileSystemInstrumenter$3.run(FileSystemInstrumenter.java:425) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

Here is the javascript file:

test.zip

dianluban commented 6 years ago

jscover is 2.0.2

tntim96 commented 6 years ago

I think I've fixed this. You can either build from source, or if using maven, you can test the snapshot with:

<!--- Configure repository --->
<repositories>
    <repository>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
<!--- Configure snapshot --->
<dependency>
    <groupId>com.github.tntim96</groupId>
    <artifactId>JSCover</artifactId>
    <version>2.0.3-SNAPSHOT</version>
</dependency>

...or just download the latest build here.

dianluban commented 6 years ago

Thanks, it works for me

tntim96 commented 6 years ago

Fix in 2.0.3 release