Skip to content
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

Accelerate slow tests #1374

Open
1 of 32 tasks
iSoron opened this issue May 15, 2022 · 0 comments
Open
1 of 32 tasks

Accelerate slow tests #1374

iSoron opened this issue May 15, 2022 · 0 comments
Assignees
Labels
refactoring Improvements to the code that don't add new functionality

Comments

@iSoron
Copy link
Owner

iSoron commented May 15, 2022

Description

Our full suite of tests currently takes around 20-30 minutes to run on GitHub Actions. While most of that time is unfortunately inevitable since we need to install Android dependencies and boot up the emulator, we can probably bring that number down by accelerating some of our tests. Below is a list of all tests that currently take more than 5 seconds to run on GitHub Actions. This task is to evaluate whether each one of these can be accelerated, and, if possible, to do so.

Notes:

  • The times below were measured on GitHub Actions. The times on your local machine will probably be much lower.
  • Because the tests below run sequentially, accelerating any one of them will have an immediate impact on GitHub Actions total running time.

Slow Tests

  • org.isoron.uhabits.regression.ListHabitsRegressionTest#should_update_out_of_screen_checkmarks_when_scrolling_horizontally (81.62 seconds)
  • org.isoron.uhabits.regression.ListHabitsRegressionTest#should_refresh_sort_after_habit_edit (45.16 seconds)
  • org.isoron.uhabits.acceptance.BackupTest#shouldExportAndImportBackup (42.40 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldCreateHabit (28.37 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldEditHabit (26.60 seconds)
  • org.isoron.uhabits.regression.ListHabitsRegressionTest#should_not_crash_after_deleting_then_adding_a_habit (26.10 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldEditHabit_fromStatisticsScreen (24.86 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldEditHabitBlankDescription (24.39 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldArchiveAndUnarchiveHabits (22.34 seconds)
  • org.isoron.uhabits.widgets.CheckmarkWidgetTest#testClick (20.17 seconds)
  • org.isoron.uhabits.acceptance.AboutTest#shouldDisplayAboutScreenFromSettings (19.77 seconds)
  • org.isoron.uhabits.widgets.ScoreWidgetTest#testRender (18.97 seconds)
  • org.isoron.uhabits.widgets.FrequencyWidgetTest#testRender (18.83 seconds)
  • org.isoron.uhabits.widgets.StreakWidgetTest#testRender (18.69 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldHideCompleted (18.67 seconds)
  • org.isoron.uhabits.widgets.CheckmarkWidgetTest#testRender (18.62 seconds)
  • org.isoron.uhabits.widgets.StreakWidgetTest#testIsInstalled (18.47 seconds)
  • org.isoron.uhabits.widgets.HistoryWidgetTest#testRender (18.40 seconds)
  • org.isoron.uhabits.widgets.HistoryWidgetTest#testIsInstalled (18.25 seconds)
  • org.isoron.uhabits.widgets.ScoreWidgetTest#testIsInstalled (18.25 seconds)
  • org.isoron.uhabits.widgets.FrequencyWidgetTest#testIsInstalled (18.23 seconds)
  • org.isoron.uhabits.widgets.CheckmarkWidgetTest#testIsInstalled (17.92 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldDeleteHabit (14.25 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldToggleCheckmarksAndUpdateScore (14.21 seconds)
  • org.isoron.uhabits.acceptance.AboutTest#shouldDisplayAboutScreen (12.72 seconds)
  • org.isoron.uhabits.regression.SavedStateTest#testBundleSavedState (11.87 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldAllowMultipleSelection (11.54 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldShowHabitStatistics (10.94 seconds)
  • org.isoron.uhabits.acceptance.HabitsTest#shouldCreateHabitBlankDescription (10.82 seconds)
  • org.isoron.uhabits.intents.IntentSchedulerTest#testScheduleWidgetUpdate (5.13 seconds)
  • org.isoron.uhabits.intents.IntentSchedulerTest#testSetSystemTime (5.12 seconds)
  • org.isoron.uhabits.intents.IntentSchedulerTest#testScheduleShowReminder (5.04 seconds)
@iSoron iSoron added the refactoring Improvements to the code that don't add new functionality label May 15, 2022
@kalina559 kalina559 self-assigned this Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring Improvements to the code that don't add new functionality
Projects
None yet
Development

No branches or pull requests

2 participants