Как тестируются сценарии fcgi? - PullRequest
0 голосов
/ 27 сентября 2019

Я новичок, так что прости меня, если это звучит наивно.Я написал скрипт в fastcgi ++.И я проверил основные варианты использования.Но, как хороший инженер-программист, я хочу проверять сценарий каждый раз, когда внослю изменения, чтобы убедиться, что я ничего не сломал.

Это то, что я делал раньше:

Это была моя структура каталогов:

script:

 - bin 
 - build (contained the bash script to compile the script)
 - src
 - tests  
    - build (contained bash script to compile the test)
    - src (contained the test file)
    - output

Я взломал способ тестирования.Раньше я использовал curl для вызова моего скрипта и перенаправления его вывода в файл в тестах / выводе (используя относительный путь) и сравнивал его с ожидаемым результатом.Я мог сделать это, потому что тесты были скомпилированы вручную, и я выполнял тесты только после изменения каталога на tests/build.Недавно я решил использовать систему сборки.Я выбрал мезон.Вы проверяете мезон, выполняя meson test или ninja test.Проблема в том, что теперь я не контролирую, откуда запускается тест.

Как проверить в таких условиях?А как вы тестируете свои fcgi-скрипты?

1 Ответ

1 голос
/ 27 сентября 2019

Проблема в том, что теперь я не контролирую, откуда запускается тест.

Тест по умолчанию выполняется в каталоге сборки, но есть параметр workdir (см. ссылка ), которую можно использовать для установки абсолютного пути, который будет использоваться в качестве рабочего каталога для теста , например:

exe = executable(...)
wdir = join_paths(meson.current_source_dir(), 'some_dir')
test('basic', exe, workdir : wdir)

Проверьте объект мезона на наличие других возможных справочных каталогов.

...