forked from oppia/oppia-android
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[RunAllTests] Fix part of oppia#2787: Add support for proto lesson lo…
…ading from local assets (oppia#2978) * Add support for loading proto versions of lessons. * Upgrade Espresso versions to work around build issues. Note that I can't actually verify Espresso tests are working with these versions since the Bazel project doesn't yet have Espresso tests set up. * Lint fix post-copying from oppia#2927. * Remove image loading annotation. This will be added in a later branch in the chain. * Add caching module to needed test suites. * Add support for importing text protos as assets. This actually provides Bazel-only support for converting text protos to binary and including those as assets so that we can avoid checking in binary protos to the codebase. * Add gitignore for Android Studio Bazel plugin output. * Import textproto versions of existing dev assets. This imports local conversions of all existing dev assets as text proto leveraging the Bazel-only conversion system to convert these to binary protos and include them as assets. This is a necessary step to both eventually replace JSON assets with text proto, and to test that the new proto loading pipeline is working as designed. * Undo Espresso version change since it breaks Bazel tests. * Fix tests. Various attempts to fix existing tests + move some of the domain tests over to actually using proto when running with Bazel. App module tests are hanging currently for unknown reasons (only in Bazel). * Use correct Espresso core. 3.1.0 causes tests to hang indefinitely when run with Bazel. * Move coroutine dispatchers. This moves the coroutine dispatchers to a new threading subpackage. It also simplifies the TestCoroutineDispatcher interface & implementations (which required moving runUntilIdle to CoroutineExecutorServiceTest). The test coroutine annotations were also moved to their own files. * Refactor testing utilities build graph. This introduces new Bazel libraries for: - Test dispatchers - Fake system/Oppia clocks - Robolectric dependencies * Introduce dedicated test for TestCoroutineDispatcher. This also fixes some threading issues in the dispatcher, and clarifies some of its API that was previously unclear (and can lead to subtle race conditions). * Add tests for TestCoroutineDispatcher. This required a bunch of refactoring, adding the first examples of dedicated Bazel test build files, and introducing a new test pattern for sharing code between different implementations. Further, it refined the API for TesCoroutineDispatcher & fixed some issues in the implementations (especially Robolectric). Tests verified as non-flaky in Robolectric across 1000 runs, and 0.2% flaky across 1000 runs for Espresso (though that may be fixed; waiting on a follow-up run to confirm stability). * Workaround ktlint semicolon issue. * Lint fixes. * Fix test post-merge. * Move CoroutineDispatcher to be part of threading. * Lint fixes. * Undo version upgrade. * Fix broken tests. * Lint fixes. * Add a bit more proto loading test coverage. * Comment fix. * Lint fixes. * Address earlier TODO. * Fix broken test build.
- Loading branch information
1 parent
2becfa9
commit cb1ddc8
Showing
66 changed files
with
39,043 additions
and
740 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.