Как запустить тестовые случаи в собственном клиенте Chome?

Я переношу библиотеку для работы под портативным нативным клиентом Chrome (PNaCl). Мне удалось скомпилировать его и запустить с его помощью простую программу. Теперь мне нужно убедиться, что он работает правильно, что означает запуск полного набора тестов. Библиотека использует CMake для своей системы сборки и CTest для тестовых случаев, поэтому каждый из них является автономным приложением, которое запускается и возвращает либо 0, либо 1 из main(), чтобы показать, пройдено ли оно. Как я могу запустить их под родным клиентом?

Конечно, я мог бы изменить каждый из них, чтобы превратить его в правильный модуль и создать интерфейс для его запуска. Но их сотни, и каждый пришлось бы модифицировать самостоятельно. Есть ли какой-либо механизм для запуска существующего набора тестов CTest под собственным клиентом?


person peastman    schedule 08.07.2014    source источник


Ответы (1)


Есть вариант; вместо создания модуля Pepper вы можете создать nexe, который имеет main() в качестве точки входа (и не использует никаких интерфейсов Pepper), который затем можно запустить под sel_ldr, утилитой командной строки, которая включена в SDK. (в каталоге перец_XX/tools) и который может запускать не-Pepper nexes. Если вы передадите флаг -a в sel_ldr, ваш nexe может даже получить доступ к локальной файловой системе, поэтому в целом это полезно для таких вещей, как модульные тесты.

Если вы используете цепочку инструментов PNaCl, вы можете создать этот pexe из командной строки, а затем перевести его в nexe в автономном режиме с помощью инструмента pnacl-translate в SDK.

Дополнительную информацию можно найти в списке рассылки.

person Derek    schedule 11.07.2014