GoogleTest

Un GoogleTest (GTest, a volte chiamato anche "test nativo") per la piattaforma in genere accede a HAL di livello inferiore o esegue IPC non elaborato su vari servizi di sistema. Per questo motivo, l'approccio del test è solitamente strettamente correlato al servizio sottoposto a test.

Per l'integrazione con l'infrastruttura di test continui, crea i tuoi GTest utilizzando il framework GTest .

Esempi

Ecco alcuni esempi di GTest nel sorgente della piattaforma:

Riepilogo dei passaggi

  1. Segui l' esempio di configurazione del modulo GTest .

  2. Per includere automaticamente le dipendenze GTest, utilizza la regola di compilazione BUILD_NATIVE_TEST nella configurazione del modulo di test.

  3. Scrivere una configurazione di prova, seguendo gli esempi per opzioni semplici e complesse .

  4. Costruisci il modulo di test con mmm per build incrementali o mma per build complete:

    make hwui_unit_tests -j
    
  5. Esegui il test localmente utilizzando Atest :

      atest hwui_unit_tests
    

    Puoi anche aggiungere argomenti ai tuoi GTest. I seguenti sono argomenti particolarmente utili:

    • native-test-flag specifica valori di flag aggiuntivi da passare al comando shell GTest.
    • native-test-timeout specifica un valore di timeout del test in microsecondi.

      Il seguente codice di esempio utilizza entrambi questi argomenti:

      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 l'imbracatura 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. Inserisci il file binario di test generato sul tuo dispositivo:

       adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
       /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. Avvia GTest ed esegui il test richiamando il file binario di test sul dispositivo:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Per ulteriori informazioni sulla personalizzazione dell'esecuzione del test, aggiungi il parametro --help al tuo binario di test. Per maggiori informazioni sui parametri fare riferimento alla guida avanzata di GTest .