Status Update
Comments
gg...@google.com <gg...@google.com>
gg...@google.com <gg...@google.com> #2
In debug mode you will see: Load failed: cast.o.media.Il.create is not a function
This function appears to be missing in
[Deleted User] <[Deleted User]> #3
ay...@blink22.com <ay...@blink22.com> #4
I am also experiencing this issue. I have 9 chromecasts V3, all bought at the same time and on 2 of them I was not able to cast images using either the
default or styled media reciever.
When comparing the debugs of a working and non working device I found that the non working one is using the canary framework instead of the V3
First of all i checked and this device doesn't have the Preview program on, how come it gets beta code ?
The error is as stated above on the cast.o.media.Il.create function
Non working canary
c = c.startsWith("image/") ? cast.o.media.Il.create(b) : .L(new hu(b,ku))
Working V3
c = c.startsWith("image/") ? .K(new ot(b)) : _.K(new Nt(b,Qt))
be...@gmail.com <be...@gmail.com> #5
so...@gmail.com <so...@gmail.com> #6
Can you also confirm whether this is happening with our latest version? You can try the preview URL that can be found here:
ga...@google.com <ga...@google.com> #7
So I created a custom reciever app pointing to the preview cast reciever version and I have the same error
It looks like the bug is also present in the preview version.
The problem I have is even if I specify to use the v3 cast reciever (
Why this chromecast in particular has this behavior ?
serial number is: 1125ADSFDMJ
Is there another version of the cast_receiver_framework.js that i could use ?
Thanks,
nk...@google.com <nk...@google.com> #8
Can you please confirm if this preview version is the same one announced on [Feb 10th (https://groups.google.com/g/cast-sdk-announcements/c/-dLdTPHTvDc) that is now in canary testing?
There are disconnects between the dates in the
ay...@blink22.com <ay...@blink22.com> #9
The SDK version is CAST SDK CAF Version: 3.0.0095 the shaka player loaded is 3.0.10. So apparently not the same as the one announced on Feb 10th (3.0.8).
I attached the whole debug output with the preview framework (
How come some devices use canary and some do not ?
Thanks,
Joris
nk...@google.com <nk...@google.com>
ju...@gmail.com <ju...@gmail.com> #10
To answer your questions, as we roll out the releases, some devices will see the new release (canary) and others will see the old release until the new release is fully ramped up in production. In Feb we found an issue with Shaka player version 3.0.8 which was fixed in version 3.0.10. We delayed the rollout of the receiver release to get the updated Shaka player 3.0.10 into the release, and that's what's currently in canary (and in preview). (The preview URL will always point to the newest build about to be released.)
For the cssting photos bug reported here, engineering has implemented a fix, and we hope to update the release with the fix tomorrow. We'll do our best to update this bug as soon as the fix is in canary.
nk...@google.com <nk...@google.com> #11
We're in the process of updating the preview URL with the fix, which should be in place in an hour or so. Joris or John, once that's in place, would you be able to do quick check against the preview URL with the development version of your apps to verify that this has fixed the problems reported?
nk...@google.com <nk...@google.com> #12
The
[Deleted User] <[Deleted User]> #13
Thanks
nk...@google.com <nk...@google.com> #14
I just tested it and it works now !!
Thanks a bunch for your quick response.
We'll do some more testing in the next few days. We'll let you if we encounter other issues.
Thanks,
Joris
ga...@google.com <ga...@google.com>
[Deleted User] <[Deleted User]> #15
Great -- thanks for the quick confirmation! We'll be rolling this fix out to production soon. (Full ramp will be early next week.)
ga...@google.com <ga...@google.com> #16
I've tested and confirm that the issue is resolved in preview mode, also appreciate your rapid feedback.
As I'm new to building and support Chromecast based applications I'd like to better understand an aspect of the release and testing process.
Was the issue we experienced present in the preview release of Feb 1st or Feb 10th, or were unannounced updates to the preview version made after the fact.
What I want to understand is if we monitor preview releases and test our application regularly with them can we avoid this type of issue impacting us in the future? Based on our admittedly very limited sample of Chromecasts it looks like Canary was in use on 10-20% of devices before this issue was identified.
ga...@google.com <ga...@google.com> #17
Thanks for testing, John! Yes, this issue has been present since the initial preview release was released in February. You should have been able to see this in the initial preview that was released back then. So going forward, testing with the preview URL prior to a new release will be the best way to ensure that you can catch issues affecting your app in advance of a new release.
co...@gmail.com <co...@gmail.com> #18
Excellent, thanks for the confirmation. I wasn't working in this space back when the preview release came out. It's good to know that if we subscribe and monitor the cast SDK announcements we'll be able to detect issues early and ensure the ongoing functionality of our product.
Thanks again to you and all the team for the excellent support we've received on this issue.
sl...@google.com <sl...@google.com> #19
We've updated the canary with the fix -- can you verify that you're now seeing that the problem is fixed?
is...@gmail.com <is...@gmail.com> #20
I have one device that was running canary previously, this device is no longer having the issue. I tried to use a published SMR to get debug info and confirm the loaded resource but I can't seem to get the remote debug console to work on this device, a first gen Chromecast. The console is working properly when connected to a V3 device but this one isn't running canary. If there's info I can provide or a way to validate if it's running canary please let me know.
Joris should be able to validate with a canary device that can debug for final confirmation tomorrow.
do...@gmail.com <do...@gmail.com> #21
Are you able to connect via adb connect? If so, after connecting you can use adb logcat to get logs, and then you should be able to see the receiver version in the logs. Also see
ga...@google.com <ga...@google.com> #22
Thanks for the great support :-)
do...@gmail.com <do...@gmail.com> #23
Terrific -- thanks for verifying!
ga...@google.com <ga...@google.com> #24
do...@gmail.com <do...@gmail.com> #25
If I use orchestrator:1.0.1 (line 112), I can run the test cases with the tasks "createProductionDebugCoverageReport" (./gradlew createProductionDebugCoverageReport).
If I use orchestrator:1.0.2 without changing anything in the test cases, it throws me an error as I mentioned before.
Let me know if you need more information.
ga...@google.com <ga...@google.com> #26
do...@gmail.com <do...@gmail.com> #27
It fixed this problem but had a different problem. I will open a new post if I don't find a fix for that.
Thanks man.
sh...@gmail.com <sh...@gmail.com> #28
I have used: gradle: 3.2.0-alpha17, test:runner: 1.0.2
distributionUrl=https\://
testInstrumentationRunnerArguments clearPackageData: 'true'
execution 'ANDROID_TEST_ORCHESTRATOR'
androidTestUtil 'com.android.support.test:orchestrator:1.0.1'
Jacaoco setup -
task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {
reports {
xml.enabled = true
html.enabled = true
}
fileFilter ="***"
def debugTree = fileTree(dir: "${buildDir}/intermediates/classes/debug", excludes: fileFilter)
def mainSrc = "${project.projectDir}/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: "$buildDir", includes: [
"jacoco/testDebugUnitTest.exec",
"outputs/code-coverage/connected/*
----
allprojects {
apply plugin: "jacoco"
jacoco {
toolVersion = "0.8.0"
}
-----
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-alpha17'
classpath "org.jacoco:org.jacoco.core:0.8.0"
-----
I am getting the Following Error
C:\Development\Projects\BreathMapper\Workspace\Source\BreatheMapper\app\libs\adobeMobileLibrary-4.13.5.jar
Warning:Type `com.google.android.gms.wearable.PutDataMapRequest` was not found, it is required for default or static interface methods desugaring of `void com.adobe.mobile.ConfigSynchronizer.syncData(java.lang.String, com.google.android.gms.wearable.DataMap)`
Warning:Type `com.google.android.gms.wearable.DataMapItem` was not found, it is required for default or static interface methods desugaring of `void com.adobe.mobile.ConfigSynchronizer.restoreConfig(com.google.android.gms.wearable.DataItem)`
Warning:Type `com.google.android.gms.wearable.PutDataMapRequest` was not found, it is required for default or static interface methods desugaring of `com.adobe.mobile.WearableDataResponse com.adobe.mobile.WearableDataConnection.send(com.adobe.mobile.WearableDataRequest)`
Warning:Type `com.google.android.gms.wearable.DataMapItem` was not found, it is required for default or static interface methods desugaring of `void com.adobe.mobile.WearableDataConnection.onDataChanged(com.google.android.gms.wearable.DataEventBuffer)`
Warning:Type `com.google.android.gms.wearable.Asset` was not found, it is required for default or static interface methods desugaring of `com.google.android.gms.wearable.DataMap com.adobe.mobile.WearableDataRequest$Cache.handle(android.content.Context)`
Warning:Interface `com.google.android.gms.common.api.GoogleApiClient$OnConnectionFailedListener` not found. It's needed to make sure desugaring of `com.adobe.mobile.WearableDataConnection` is correct. Desugaring will assume that this interface has no default method.
Warning:Interface `com.google.android.gms.wearable.DataApi$DataListener` not found. It's needed to make sure desugaring of `com.adobe.mobile.WearableDataConnection` is correct. Desugaring will assume that this interface has no default method.
C:\Users\xx\.gradle\caches\transforms-1\files-1.1\runtime-1.1.1.aar\be15bb0ad7b260a4de5c6f23e94be8e7\jars\classes.jar
Warning:Type `android.arch.paging.PositionalDataSource` was not found, it is required for default or static interface methods desugaring of `boolean android.arch.persistence.room.paging.LimitOffsetDataSource.isInvalid()`
C:\Users\xx\.gradle\caches\transforms-1\files-1.1\espresso-core-3.0.2.aar\f93273e747e9ce9e35d6f1173bb60539\jars\classes.jar
Warning:Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `sun.misc.Unsafe android.support.test.espresso.core.internal.deps.guava.cache.Striped64.getUnsafe()`
Warning:Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `void android.support.test.espresso.core.internal.deps.guava.util.concurrent.AbstractFuture$UnsafeAtomicHelper.<clinit>()`
Error:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 warning
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:createDebugAndroidTestCoverageReport'.
> java.io.IOException: No coverage data to process in directory 'C:\Development\Projects\BreathMapper\Workspace\Source\BreatheMapper\app\build\outputs\code-coverage\connected'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at
BUILD FAILED in 4m 56s
ga...@google.com <ga...@google.com> #29
Can you please file a new issue, and upload a sample project that reproduces it?
sh...@gmail.com <sh...@gmail.com> #30
Full Error log
C:\Development\Projects\MyTest\Workspace\Source\MyTest\app\build\outputs\androidTest-results\connected\TEST-Galaxy_Nexus_API_26(AVD) - 8.0.0-app-.xml. Total tests 48, passed 48,
06:04:55 V/ddms: execute 'CLASSPATH=$(pm path android.support.test.services) app_process / android.support.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.vn.test.test/android.support.test.runner.AndroidJUnitRunner --no_window_animation -e coverageFilePath /data/data/com.vn.test/coverage_data/ -e coverage true android.support.test.orchestrator/android.support.test.orchestrator.AndroidTestOrchestrator' on 'emulator-5556' : EOF hit. Read: -1
06:04:55 V/ddms: execute: returning
06:04:55 V/ddms: execute: running echo 'for i in $(run-as com.vn.test ls /data/data/com.vn.test/coverage_data/); do run-as com.vn.test cat /data/data/com.vn.test/coverage_data/$i > /data/local/tmp/com.vn.test-coverage_data/$i; done' > /data/local/tmp/com.vn.test-coverage_data/copyFromUser.sh
06:04:55 V/ddms: execute 'echo 'for i in $(run-as com.vn.test ls /data/data/com.vn.test/coverage_data/); do run-as com.vn.test cat /data/data/com.vn.test/coverage_data/$i > /data/local/tmp/com.vn.test-coverage_data/$i; done' > /data/local/tmp/com.vn.test-coverage_data/copyFromUser.sh' on 'emulator-5556' : EOF hit. Read: -1
06:04:55 V/ddms: execute: returning
06:04:55 V/ddms: execute: running sh /data/local/tmp/com.vn.test-coverage_data/copyFromUser.sh
06:04:55 V/ddms: execute 'sh /data/local/tmp/com.vn.test-coverage_data/copyFromUser.sh' on 'emulator-5556' : EOF hit. Read: -1
06:04:55 V/ddms: execute: returning
06:04:55 V/ddms: execute: running ls /data/local/tmp/com.vn.test-coverage_data > /data/local/tmp/com.vn.test-coverage_data/paths.txt
06:04:55 V/ddms: execute 'ls /data/local/tmp/com.vn.test-coverage_data > /data/local/tmp/com.vn.test-coverage_data/paths.txt' on 'emulator-5556' : EOF hit. Read: -1
06:04:55 V/ddms: execute: returning
06:04:55 D/paths.txt: Downloading paths.txt from device 'emulator-5556'
06:04:55 D/Device: Downloading file from device 'emulator-5556'
06:04:55 V/ddms: execute: running rm -r /data/local/tmp/com.vn.test-coverage_data
06:04:55 V/ddms: execute 'rm -r /data/local/tmp/com.vn.test-coverage_data' on 'emulator-5556' : EOF hit. Read: -1
06:04:55 V/ddms: execute: returning
06:04:55 V/ddms: execute: running pm uninstall com.vn.test.test
06:04:55 V/ddms: execute 'pm uninstall com.vn.test.test' on 'emulator-5556' : EOF hit. Read: -1
06:04:55 V/ddms: execute: returning
06:04:55 V/ddms: execute: running pm uninstall com.vn.test
06:04:56 V/ddms: execute 'pm uninstall com.vn.test' on 'emulator-5556' : EOF hit. Read: -1
06:04:56 V/ddms: execute: returning
:app:createDebugAndroidTestCoverageReport FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:createDebugAndroidTestCoverageReport'.
> java.io.IOException: No coverage data to process in directory 'C:\Development\Projects\MyTest\Workspace\Source\Test\app\build\outputs\code-coverage\connected'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at
BUILD FAILED in 3m 14s
sh...@gmail.com <sh...@gmail.com> #31
I have uploaded some more log detail.
sh...@gmail.com <sh...@gmail.com> #32
My setup was working fine with earlier gradle plugin 3.1.2 . with distributionUrl=gradle-4.4-all.zip (.ec file was generating but only coverage data is incomplete ).
But I tried to implement the solution provided in #20
gradle plugin - gradle:3.2.0-alpha17' with distributionUrl=gradle-4.6-all.zip But getting #30 error an .ec file not generating
ga...@google.com <ga...@google.com> #33
ba...@gmail.com <ba...@gmail.com> #35
How to test the private methods and greendao database CRUD operations in android robolectric test case.
How to get private method code coverage in android jacoco library using
sl...@gmail.com <sl...@gmail.com> #36
> java.io.IOException: No coverage data to process in directories [[/Users/msh/git/wine-scanner-android/app/build/outputs/code_coverage/worldDebugAndroidTest/connected]]
Only happens when enabling ANDROIDX_TEST_ORCHESTRATOR
ga...@google.com <ga...@google.com> #37
Can you please share a project the reproduces the issue?
sl...@gmail.com <sl...@gmail.com> #38
I've tried trouble shooting most of the day and so far no luck. I really have no idea where to start looking.
Not sure if it will help but the complete output when running ./gradlew createWorldDebugCoverageReport is attached.
I've tried against an emulator (genymotion) as well as a real device - same result.
I guess the next logical step is to setup a basic project and see if that has the same problem...
ga...@google.com <ga...@google.com> #39
bi...@gmail.com <bi...@gmail.com> #40
Still error
Execution failed for task ':app:createDebugAndroidTestCoverageReport'.
> java.io.IOException: No coverage data to process in directories /app/build/outputs/code_coverage/debugAndroidTest/connected
sl...@gmail.com <sl...@gmail.com> #41
az...@gmail.com <az...@gmail.com> #42
> Caused by: org.gradle.api.UncheckedIOException: java.io.IOException: No coverage data to process in directories [[/Users/azizbekian/Projects/XXX/XXX/app/build/outputs/code_coverage/devDebugAndroidTest/connected]]
Using `androidTestUtil androidx.test:orchestrator:1.2.0`
AGP version 3.4.2
Gradle version 5.5
Have specified `testInstrumentationRunnerArguments clearPackageData: 'true'` in `defaultConfig` DSL
Have specified `execution 'ANDROIDX_TEST_ORCHESTRATOR'` in testOptions DSL
Problem is, that I cannot see `
an...@gmail.com <an...@gmail.com> #43
bj...@googlemail.com <bj...@googlemail.com> #44
ma...@gmail.com <ma...@gmail.com> #45
Running tests and having coverage data is a basic scenario for every developer that has some self-respect.
sc...@gmail.com <sc...@gmail.com> #46
eu...@rbs.co.uk <eu...@rbs.co.uk> #47
wi...@gmail.com <wi...@gmail.com> #48
ga...@google.com <ga...@google.com> #49
The root cause of this issue has been fixed, and you are almost certainly hitting another issue. Please open a new bug to help us track issues in a better way.
[Deleted User] <[Deleted User]> #50
ga...@google.com <ga...@google.com> #51
Please read all comments before posting, as
Description
Enabling test orchestration causes incorrect coverage report statistics. Only the last run test will have coverage data correctly reported, all other test coverage data is lost when looking at the report.
I have attached a vanilla app created by android studio that has coverage enabled, test orchestrator enabled, and two tests that test two methods in the main activity.
Running the generated task 'createDebugAndroidTestCoverageReport' and checking the report will show only the last executed test has correct coverage data.
Libraries used: Espresso:3.0.1, Runner:1.0.1
What steps will reproduce the problem?
1. Create a vanilla app from the android studio prompt.
2. Enable test coverage in the debug buildtype (testCoverageEnabled = true)
2b. Enable test orchestration in testOptions (execution 'ANDROID_TEST_ORCHESTRATOR')
3. Create two test methods in the main activity (they can be static)
4. Create two tests in androidTest to test those methods.
5. Run the 'createDebugAndroidTestCoverageReport'
6. Open the report index: /build/reports/coverage/index.html
7. Navigate to the MainActivity and check the coverage for the two test methods.
EXPECTED: Both test methods are reported as covered.
ACTUAL: Only the last run test subject (method under test) has coverage reported.
How are you running your tests (via Android Studio, Gradle, adb, etc.)?
Gradle / Android Studio Gradle Projects Window using the 'createDebugAndroidTestCoverageReport'
What is the expected output? What do you see instead?
Code Coverage reports all methods have coverage.