**Root cause** - When DisplayDataSizeTest was created, it was ignored already due to b/214161063. That means the test never passed in the beginning. - The default display's type in Robolectric is TYPE_UNKNOWN. However, in the constructor of DisplayDensityUtils, we check all the display that is not TYPE_INTERNAL can't be a default display. Hence the test failed. - Even if we shadow the DisplayInfo to have TYPE_INTERNAL for default display, the test still failed, because whenever we tried to get the default display density we always get 0, and doens't have other diplay density values. Hence we can't test increasing the display size in Robolectric Test. Note: the solution here is a workaround for waiting AsyncTask to finish. If we ever change the implementation in DisplayDensityUtils to not use AsyncTask, we'll need to update the test. Bug: 279082331 Test: atest DisplaySizeDataTest --iterations 20 Change-Id: I3ccee5e7ba4d9399a8b715d84a9d53e106f88762
Running Settings Robolectric tests
The full suite
$ croot
$ make RunSettingsRoboTests
Running a single test class
$ croot
$ make RunSettingsRoboTests ROBOTEST_FILTER=<ClassName>
For example:
make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest
You can also use partial class name in ROBOTEST_FILTER. If the partial class name matches multiple file names, all of them will be executed.