mapbox / mapbox/mapbox-navigation-android

Instrumentation test failing sometimes

Open
#5,770 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

jira-sync-complete op-ex
Dominant language
Kotlin
Stars
651
Forks
321
PR merge metrics
No merged PRs in 30d

Description

verify_history_files_are_recorded_and_readable_with_silent_waypoints

https://app.circleci.com/pipelines/github/mapbox/mapbox-navigation-android/17897/workflows/44134dc8-7a92-495a-8cd0-ab2cdbc34a9f/jobs/81674

https://console.firebase.google.com/u/0/project/mapbox-navigation-android/testlab/histories/bh.54eb2dd57e959221/matrices/5304873808056687705/executions/bs.7e888e4297528ead

05-03 07:16:02.676: E/TestRunner(24075): junit.framework.AssertionFailedError: expected:<-77.031991> but was:<-77.031957>
05-03 07:16:02.676: E/TestRunner(24075): 	at junit.framework.Assert.fail(Assert.java:50)
05-03 07:16:02.676: E/TestRunner(24075): 	at junit.framework.Assert.failNotEquals(Assert.java:287)
05-03 07:16:02.676: E/TestRunner(24075): 	at junit.framework.Assert.assertEquals(Assert.java:102)
05-03 07:16:02.676: E/TestRunner(24075): 	at junit.framework.Assert.assertEquals(Assert.java:109)
05-03 07:16:02.676: E/TestRunner(24075): 	at com.mapbox.navigation.instrumentation_tests.core.MapboxHistoryTest.verifyHistoryEvents(MapboxHistoryTest.kt:246)
05-03 07:16:02.676: E/TestRunner(24075): 	at com.mapbox.navigation.instrumentation_tests.core.MapboxHistoryTest.verify_history_files_are_recorded_and_readable_with_silent_waypoints(MapboxHistoryTest.kt:220)
05-03 07:16:02.676: E/TestRunner(24075): 	at java.lang.reflect.Method.invoke(Native Method)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
05-03 07:16:02.676: E/TestRunner(24075): 	at androidx.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
05-03 07:16:02.676: E/TestRunner(24075): 	at androidx.test.internal.runner.junit4.statement.RunAfters.evaluate(RunAfters.java:61)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
05-03 07:16:02.676: E/TestRunner(24075): 	at androidx.test.rule.GrantPermissionRule$RequestPermissionStatement.evaluate(GrantPermissionRule.java:134)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
05-03 07:16:02.676: E/TestRunner(24075): 	at com.adevinta.android.barista.rule.cleardata.ClearDatabaseRule$apply$1.evaluate(ClearDatabaseRule.kt:31)
05-03 07:16:02.676: E/TestRunner(24075): 	at com.adevinta.android.barista.rule.cleardata.ClearPreferencesRule$1.evaluate(ClearPreferencesRule.java:26)
05-03 07:16:02.676: E/TestRunner(24075): 	at com.adevinta.android.barista.rule.cleardata.ClearFilesRule$apply$1.evaluate(ClearFilesRule.kt:25)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.Suite.runChild(Suite.java:128)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.Suite.runChild(Suite.java:27)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
05-03 07:16:02.676: E/TestRunner(24075): 	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
05-03 07:16:02.676: E/TestRunner(24075): 	at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
05-03 07:16:02.676: E/TestRunner(24075): 	at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:444)
05-03 07:16:02.676: E/TestRunner(24075): 	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2205)
05-03 07:16:02.676: E/TestRunner(24075): ----- end exception -----

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with MapboxHistoryTest.kt, especially verify_history_files_are_recorded_and_readable_with_silent_waypoints at line 220 and verifyHistoryEvents at line 246. Reproduce the instrumentation failure and investigate the differing coordinate values; done means the test reliably validates the recorded history without intermittent assertion failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
mobile-dev, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.