kopia lustrzana https://github.com/mik3y/usb-serial-for-android
79 wiersze
3.0 KiB
Groovy
79 wiersze
3.0 KiB
Groovy
// see https://github.com/mik3y/usb-serial-for-android/wiki/Device-Tests-&-Coverage-Report for instructions
|
|
apply plugin: 'jacoco'
|
|
|
|
android {
|
|
flavorDimensions += 'device'
|
|
productFlavors {
|
|
anyDevice {
|
|
// Used as fallback in usbSerialExample/build.gradle -> missingDimensionStrategy, but not for coverage report
|
|
dimension 'device'
|
|
}
|
|
arduino {
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'CdcAcm']
|
|
}
|
|
ch340 {
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'Ch34x']
|
|
}
|
|
cp2102 { // and cp2105 first port
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'Cp21xx']
|
|
}
|
|
cp2105 { // second port
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'Cp21xx', 'test_device_port': '1']
|
|
}
|
|
ft232 { // and ft2232 first port
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'Ftdi']
|
|
}
|
|
ft2232 { // second port
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'Ftdi', 'test_device_port': '1']
|
|
}
|
|
pl2303 {
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'Prolific']
|
|
}
|
|
pl2303t {
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'Prolific']
|
|
}
|
|
pl2303g {
|
|
dimension 'device'
|
|
testInstrumentationRunnerArguments = ['test_device_driver': 'Prolific']
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
enableUnitTestCoverage true
|
|
enableAndroidTestCoverage true
|
|
}
|
|
}
|
|
}
|
|
|
|
// create report even if tests fail
|
|
project.gradle.taskGraph.whenReady {
|
|
-> project.tasks.findAll { it.name =~ /connected.+AndroidTest/ }.each {
|
|
it.ignoreFailures = true
|
|
}
|
|
}
|
|
|
|
task jacocoTestReport(type: JacocoReport, dependsOn: ['compileAnyDeviceDebugSources'
|
|
/*, 'testAnyDeviceDebugUnitTest' */
|
|
/*, 'create<device>DebugCoverageReport' */]) {
|
|
def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
|
|
def debugTree = fileTree(dir: "$project.buildDir/intermediates/javac/anyDeviceDebug", excludes: fileFilter)
|
|
def mainSrc = "$project.projectDir/src/main/java"
|
|
|
|
reports.xml.required = true
|
|
sourceDirectories.from files([mainSrc])
|
|
classDirectories.from files([debugTree])
|
|
executionData.from fileTree(dir: project.buildDir, includes: [
|
|
'outputs/unit_test_code_coverage/anyDeviceDebugUnitTest/testAnyDeviceDebugUnitTest.exec',
|
|
'outputs/code_coverage/*DebugAndroidTest/connected/*/coverage.ec'
|
|
])
|
|
}
|