GoogleTest

GoogleTest (GTest, также иногда называемый "нативными тестами") для платформы обычно обращается к HAL более низкого уровня или выполняет необработанный IPC для различных системных служб. Поэтому подход к тестированию обычно тесно связан с тестируемым сервисом.

Чтобы интегрировать GTests с инфраструктурой непрерывного тестирования, создайте их с помощью фреймворка GTest.

Примеры

Вот несколько примеров использования GTest в исходном коде платформы:

Список шагов

  1. Следуйте примеру настройки модуля GTest.

  2. Чтобы автоматически включить зависимости GTest, используйте BUILD_NATIVE_TESTправило сборки в конфигурации тестового модуля.

  3. Напишите тестовую конфигурацию, следуя примерам для простых и сложных вариантов.

  4. Создайте тестовый модуль с помощью mmm для инкрементной сборки или mma для полной сборки:

    make hwui_unit_tests -j
    
  5. Запустите тест локально с помощью Atest:

      atest hwui_unit_tests
    

    Вы также можете добавлять аргументы в GTest. Особенно полезны следующие аргументы:

    • native-test-flag – дополнительные значения флагов, которые передаются команде оболочки GTest.
    • 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. Запустите GTest и выполните тест, вызвав тестовый двоичный файл на устройстве:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Чтобы узнать больше о настройке выполнения тестов, добавьте параметр --help в двоичный файл теста. Дополнительную информацию о параметрах можно найти в расширенном руководстве по GTest.