Hi all,

I'm a beginner in JacoCo and encounter problem of jacoco.exec not created after 
running Android tests.  Can you please help to point out what needs to be 
changed or done?  Also, does it require using an argument for JaCoCo agent when 
executing test?  Thank you very much!

I read the JaCoCo plug-in section in Gradle User Guide 
(http://www.gradle.org/docs/current/userguide/jacoco_plugin.html) and Android 
Studio page, as well as searching for answers in Google.  One issue is that 
Gradle should not take both android and java plugins so I cannot use the test 
task from java plugin to specify JaCoCo destinationFile and classDumpFile 
values as stated in Gradle User Guide. 

Dev. environment:
Gradle  2.0
JaCoCo 0.7.1.201405082137
JDK       1.7.0_65
Android compiled SDK version  20
Android build tools version  20.0.0
Android Studio  0.8.2
Android version on test device 4.2.2

logcat message from executing Android tests:
07-24 19:30:47.990  10149-10165/? W/System.errīš• java.io.FileNotFoundException: 
/jacoco.exec: open failed: EROFS (Read-only file system)

Below are the additions in the module's build.gradle file to support JaCoCo:
apply plugin: "jacoco"

android {
    buildTypes {
        debug {
            testCoverageEnabled true
        }
        release {
            testCoverageEnabled true
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'
        }
    }
    jacoco {
        println "jacoco version"
        version "0.7.1.201405082137"
    }
}

jacoco {
    toolVersion = "0.7.1.201405082137"
    reportsDir =     
file("<absolute_path_to_project>/app/build/customJacocoReportDir")
}

def coverageSourceDirs = [
     '<absolute_path_to_project>/app/src/main'
]

task jacocoTestReport(type: JacocoReport, dependsOn: "testDebug") {
    group = "Reporting"
    description = "Generate Jacoco coverage reports after running tests."
    reports {
        xml.enabled = true
        xml.destination = "<absolute_path_to_project>/app/build/reportXML"
        html.enabled = true
        html.destination = "<absolute_path_to_project>/app/build/reportHTML"
    }
    classDirectories = fileTree(
            dir: 
'<absolute_path_to_project>/app/build/intermediates/coverage-instrumented-classes/debug',
    )
    sourceDirectories = files(coverageSourceDirs)
    executionData = files("jacoco.exec")
}

-- 
You received this message because you are subscribed to the Google Groups 
"JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to