Test nativi

Un test nativo per la piattaforma in genere accede a HAL di livello inferiore o esegue IPC non elaborati su vari servizi di sistema. Pertanto, l'approccio di test è solitamente strettamente associato al servizio in prova.

Costruire test native che utilizzano il GTEST quadro. Questo è un prerequisito per l'integrazione con l'infrastruttura di test continuo.

Esempi

Ecco alcuni esempi di test nativi nel sorgente della piattaforma:

Riepilogo dei passaggi

  1. Vedere campione configurazione modulo di test nativa a: quadri / base / libs / hwui / test / unit /
  2. Modulo di test configuation deve utilizzare il BUILD_NATIVE_TEST regola compilazione in modo che le dipendenze sono automaticamente inclusi GTEST
  3. Scrivi una configurazione di prova. Vedere la semplice e complesse opzioni.
  4. Costruire il modulo di test con mmm o mma (dipende se si tratta di un incrementale o completo di compilazione), ad esempio:

    make hwui_unit_tests -j
    
  5. Utilizzare Atest per eseguire il test a livello locale:

    atest hwui_unit_tests
    
    1. Puoi anche aggiungere argomenti ai tuoi test nativi. Alcune bandiere particolarmente utili sono native-test-flag , che specifica i valori di bandiera aggiuntive da passare al comando della shell del test di natale e native-test-timeout , che consente di specificare un valore di timeout di prova in microsecondi.

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
      --module-arg test-name:native-test-timeout:60000
      
  6. Esegui il test con il cablaggio di prova della Federazione dei Mercanti:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Installa ed esegui manualmente:

    1. Spingi il binario di test generato sul dispositivo:

      adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
        /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. Esegui il test invocando test binary sul dispositivo:

      adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

    Questo avvia il test nativo. È inoltre possibile aggiungere il --help parametro alla binario test per scoprire di più sui diversi modi di esecuzione dei test Personalizza. Infine, consultare la guida avanzata GTEST per più parametri e il loro uso.