-
-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Coverage bug #211
Coverage bug #211
Conversation
…ll no coverage recorded
gradle/jacoco_ci.gradle
Outdated
listexecution.each { | ||
logger.lifecycle("execution directories ${it.path}") | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's the output of these logs:
main /home/circleci/src/app/src/main/java
main /home/circleci/src/coverage_example/src/main/java
source /home/circleci/src/app/src/main/java
source /home/circleci/src/coverage_example/src/main/java
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/bindingadapter/Visibility.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/timeline/TimelineEntryViewModel.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/timeline/TimelineViewModel.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/timeline/TimelineViewModel$addEntries$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/timeline/TimelineViewModel$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/timeline/TimelineViewModel$1$invokeSuspend$$inlined$collect$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/timeline/TimelineViewModelFactory.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragmentDirections.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragmentDirections$ActionSearchFragmentToEntryFragment.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragmentDirections$Companion.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchEntryViewModel.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$1$invokeSuspend$$inlined$collect$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2$invokeSuspend$$inlined$filter$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2$invokeSuspend$$inlined$filter$1$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2$invokeSuspend$$inlined$filter$1$2$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2$invokeSuspend$$inlined$map$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2$invokeSuspend$$inlined$map$1$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2$invokeSuspend$$inlined$map$1$2$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2$invokeSuspend$$inlined$flatMapLatest$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$2$4.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$3.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$4.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$5.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$onViewCreated$6.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$viewModel$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$$special$$inlined$viewModels$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment$$special$$inlined$viewModels$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchViewModel.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/search/SearchViewModelFactory.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/dialog/CelebrateDialogFragment.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/dialog/CelebrateDialogFragment$onViewCreated$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/dialog/CelebrateDialogFragment$onViewCreated$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/dialog/CelebrateDialogFragment$onViewCreated$3.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/dialog/CelebrateDialogFragment$Companion.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragmentArgs.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragmentArgs$Companion.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onCreate$callback$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onCreate$callback$1$handleOnBackPressed$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$2$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$3.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$4.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$4$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$5.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$5$invokeSuspend$$inlined$map$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$5$invokeSuspend$$inlined$map$1$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$5$invokeSuspend$$inlined$map$1$2$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$onViewCreated$5$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$invalidate$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$prepareWindow$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$showUnsavedEntryDialog$alertDialog$1$1$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$showUnsavedEntryDialog$$inlined$let$lambda$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$$special$$inlined$fragmentViewModel$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$$special$$inlined$fragmentViewModel$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$$special$$inlined$fragmentViewModel$2$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryFragment$$special$$inlined$navArgs$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryState.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$Factory.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$changePrompt$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$onTextChanged$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$onTextChanged$1$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$saveEntry$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$saveEntry$1$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$saveEntry$1$1$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$setDate$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$setDate$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$setDate$2$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel$Companion.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/themes/ThemeFragment.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/themes/ThemeFragment$OnThemeSelectedListener.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/themes/ThemeFragment$onViewCreated$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/ui/themes/ThemeFragment$listener$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/repository/EntryRepository.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/repository/EntryRepositoryImpl.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/repository/EntryRepositoryImpl$searchEntries$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/repository/EntryRepositoryImpl$Companion.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/CustomTypefaceSpan.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/DateUtilKt.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/EditTextUtilsKt.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/EditTextUtilsKt$textChanges$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/EditTextUtilsKt$textChanges$1$listener$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/EditTextUtilsKt$textChanges$1$1.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/EditTextUtilsKt$textChanges$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/StatusBarUtilsKt.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/RealCsvParser.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/CsvParser.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/CsvRecord.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/CsvWriter.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/FileExporter.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/FileExporter$exportToCSV$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/LocalExporter.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/LocalExporter$exportEntriesToCsvFile$2.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/util/backups/CloudProvider.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/GratitudeApplication.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/journal/gratitude/com/gratitudejournal/GratitudeApplicationKt.class
class directories /home/circleci/src/app/build/tmp/kotlin-classes/debug/META-INF/app_debug.kotlin_module
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel_Factory_Impl.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/ui/entry/EntryViewModel_Factory.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/ui/timeline/TimelineViewModel_Factory.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/ui/search/SearchViewModel_Factory.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/ui/search/SearchFragment_MembersInjector.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/repository/EntryRepositoryImpl_Factory.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/GratitudeApplication_MembersInjector.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/DataBinderMapperImpl$InnerBrLookup.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/DataBinderMapperImpl$InnerLayoutIdLookup.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/journal/gratitude/com/gratitudejournal/DataBinderMapperImpl.class
class directories /home/circleci/src/app/build/intermediates/javac/debug/classes/androidx/databinding/DataBinderMapperImpl.class
class directories /home/circleci/src/coverage_example/build/tmp/kotlin-classes/debug/com/presently/coverage_example/KotlinClass.class
class directories /home/circleci/src/coverage_example/build/tmp/kotlin-classes/debug/META-INF/coverage_example_debug.kotlin_module
class directories /home/circleci/src/coverage_example/build/intermediates/javac/debug/classes/com/presently/coverage_example/JavaClass.class
execution directories /home/circleci/src/app/build/outputs/code-coverage/connected/coverage.ec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I notice that there's only one execution directory here, wonder if thats whats wrong 👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When I run locally I see the execution files I expect:
execution directories /../Presently/app/build/jacoco/testDebugUnitTest.exec
execution directories /../Presently/coverage_example/build/jacoco/testDebugUnitTest.exec
So I don't think thats the issue
…sts are counting towards coverage
…ing towards coverage
In the end removing the coverage block in the library module's |
This won't work because we need to have |
Inspired by this blog post, I figured out a way to have FTL generate coverage.ec files and for my jacoco gradle task to still work! If I'm assembling the app for FTL I added the flag for coverage, which will set |
📜 Description
I've been slowly but surely getting the repo closer to being multi-module with code coverage and this is the last piece I'm stuck on!
I'm generating coverage for each module and trying to combine the results. But unit tests outside of the app module don't seem to be counting towards code coverage.
I created this test module in order to try and isolate the problem and get it fixed. You can't see in this PR but in other branches I have going the coverage.ec files from instrumented test are counting towards coverage.
Does anyone see what I'm missing here? I've tried so many various things to get this working my head is spinning 💀
If you want to test this locally you can run
./gradlew jacocoFullReport
and the report will be in the project level build folder.