android / android/android-test

Orchestrator fails if service disconnects

Aperta
#396 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
1.2k
Fork
342
Merge medio
11h 29m
PR unite (30g)
2

Descrizione

### Description
Our test suite has recently begun crashing without running all the tests.

From logcat, it looks like we are running into memory pressure and Android is killing the Orchestration Service.

The OrchestratedInstrumentationListener code does not trigger a reconnect to the service on disconnect, and this makes tests fail if the service is killed. Once the service is killed there is no way to recover. The code should be updated to rebind the service on an unbind.

In addition the service is not being bound with flag Service.BIND_IMPORTANT which would make the Orchestration Service less likely to be killed under memory pressure.

### Steps to Reproduce
I have outlined steps to reproduce here:
https://issuetracker.google.com/issues/135574731

Note that you may have to add tests which consume memory to cause the service to be killed.

### Expected Results
The orchestrator does not crash.

### Actual Results
The orchestrator crashes and only a small subset of our tests are run.

### AndroidX Test and Android OS Versions
AndroidX 1.2.0 - Tested on both 26 and 27.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da OrchestratedInstrumentationListener e dal codice di associazione del servizio, quindi segui i passaggi per riprodurre il problema indicati in issuetracker.google.com/issues/135574731 su AndroidX Test 1.2.0 con Android 26 o 27. Verifica il comportamento quando Android termina Orchestration Service sotto pressione di memoria; il lavoro è completato quando il servizio viene associato nuovamente dopo unbind, viene associato con Service.BIND_IMPORTANT e l'intera suite di test continua a essere eseguita.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, java
Ambito
mobile, testing-qa
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.