本地測試

平台的本機測試通常訪問較低級別的 HAL 或針對各種系統服務執行原始 IPC。因此,測試方法通常與被測服務緊密耦合。

構建使用本機測試GTEST框架。這是與持續測試基礎架構集成的先決條件。

例子

以下是平台源中的一些本機測試示例:

步驟總結

  1. 看樣原生測試模塊設置在:框架/鹼/庫/慧深/測試/單元/
  2. 測試模塊configuation應該使用BUILD_NATIVE_TEST構建規則,以便GTEST依賴被自動包含
  3. 編寫測試配置。見簡單複雜的選項。
  4. 構建測試模塊mmmmma (取決於如果它是一個增量備份或完全版本),如:

    make hwui_unit_tests -j
    
  5. 使用ATEST在本地運行測試:

    atest hwui_unit_tests
    
    1. 您還可以向本機測試添加參數。一些特別有用的標誌是native-test-flag ,它指定額外的標誌值傳遞給本地測試的shell命令和native-test-timeout ,它允許您指定微秒的測試超時值。

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
      --module-arg test-name:native-test-timeout:60000
      
  6. 使用 Trade Federation 測試工具運行測試:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. 手動安裝並運行:

    1. 將生成的測試二進製文件推送到設備上:

      adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
        /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. 通過在設備上調用測試二進製文件來執行測試:

      adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

    這將啟動本機測試。您還可以添加--help參數測試二進制更了解不同的方式來定制測試執行。最後,看到GTEST高級指南的詳細參數以及它們的用途。