почему мой outdir из моей команды kcov всегда пуст? - PullRequest
1 голос
/ 10 июля 2019

Итак, мне нужно интегрировать kcov в мой gitlab-ci, чтобы увидеть покрытие кода на тестируемом исполняемом исполняемом файле.документация от kcov гласит, что мне нужно запустить «kcov / path / to / outdir ./myexec», чтобы сгенерировать отчет в html-файле.однако, даже если команда succedes, / path / to / outdir по-прежнему пуста, и я не знаю, почему, поскольку тесты пройдены, и kcov не возвращает ошибок

, вот .gitlab-ci.yml:

 stage: coverage
 dependencies:
  - Build
 script:
 - mkdir build/test/kcov
 - cd build/test
 - kcov --include-path=../../src /kcov ./abuse-test
 - cd kcov
 - ls
 artifacts:
  paths:
    - TP3/build
    - TP3/src

мой тестовый exec - злоупотребление-тест, он генерируется через cmake-> make и находится в папке с именем TP3-> build-> test-> злоупотребление-тестом

выходконсоль в ci выглядит следующим образом:

  on igl601-runner3 5d2b3c01
Using Docker executor with image depot.dinf.usherbrooke.ca:4567/e19-igl601/eq09/image_tp3 ...
Pulling docker image depot.dinf.usherbrooke.ca:4567/e19-igl601/eq09/image_tp3 ...
Using docker image sha256:c2cf0a7c10687670c7b28ee23ac06899de88ebb0d86e142bfbf65171147fc167 for depot.dinf.usherbrooke.ca:4567/e19-igl601/eq09/image_tp3 ...
Running on runner-5d2b3c01-project-223-concurrent-0 via dinf-prj-16...
Fetching changes...
Removing TP3/build/
HEAD is now at b2e1277 Update .gitlab-ci.yml
From https://depot.dinf.usherbrooke.ca/e19-igl601/eq09
   b2e1277..7cf0af5  master     -> origin/master
Checking out 7cf0af56 as master...
Skipping Git submodules setup
Downloading artifacts for Build (8552)...
Downloading artifacts from coordinator... ok        id=8552 responseStatus=200 OK token=Pagxjp_C
$ cd TP3
$ mkdir build/test/kcov
$ cd build/test
$ kcov --include-path=../../src /kcov ./abuse-test
===============================================================================
All tests passed (3 assertions in 3 test cases)

$ cd kcov
$ ls
Uploading artifacts...
TP3/build: found 2839 matching files               
TP3/src: found 211 matching files                  
Uploading artifacts to coordinator... ok            id=8554 responseStatus=201 Created token=PxDHHjxf
Job succeeded

документация kcov гласит: "/ path / to / outdir будет содержать вывод HTML в стиле lcov, сгенерированный непрерывно, пока приложение запускается"

ивсе же, когда я просматриваю артефакты, я ничего не нахожу

1 Ответ

0 голосов
/ 11 июля 2019

Привет, похоже, вы указываете /kcov в качестве outdir:

kcov --include-path=../../src /kcov ./abuse-test

Поскольку вы работаете в системе * nix, / подразумевает абсолютный путь от корнявашей файловой системы.

Шаг cd kcov предполагает относительный путь (по сравнению с вашим текущим каталогом), так как он пропускает /.

Так что я думаю, что вы измените команду kcovto:

kcov --include-path=../../src kcov ./abuse-test

Исправит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...