We have build / run / generate coverage reports on different physical machines. We use jenkins as CI server and faced with unclear behavior of parameter --derived_data_path.
We expect that when there are sources and derived data within jenkins workspace and we run command xcov -j . -s <scheme> -o <out_dir> finally we got well generated html report.
There is prepared workspace structure:
Workspace
|- Logs/Test - results of run test with enabled coverage (.acarchive, .xcreport)
|- sources - project file and all sources here
|- Product - build here
Output:
[13:16:59]: [36m$ /Library/Ruby/Gems/2.3.0/gems/xcov-1.5.0/lib/xcov-core/bin/xcov-core -s Logs/Test/out.xccovreport -o coverage_report/tmp/report.json20190506-3174-vbzrhc --ide-foundation-path /Applications/Xcode.app/Contents/Developer/../Frameworks/IDEFoundation.framework/Versions/A/IDEFoundation[0m
[13:16:59]: ▸ [35mLoading...[0m
[13:16:59]: ▸ [35mOpening .xccoverage file at path: <REPORT_PATH>[0m
[13:16:59]: ▸ [35mParsing .xccoverage file...[0m
[13:16:59]: ▸ [35mFile successfully parsed[0m
[13:16:59]: ▸ [35mSerializing coverage report...[0m
[13:16:59]: ▸ [35mReport successfully serialized[0m
[13:16:59]: ▸ [35mWriting report on disk...[0m
[13:16:59]: ▸ [35mCoverage report successfully created at path: <OUTPUT_PATH>/tmp/report.json20190506-3174-vbzrhc[0m
[13:16:59]: [36m$ xcodebuild -showBuildSettings -workspace<WORKSPACE> -scheme <SCHEME>[0m
[13:17:02]: [33mError accessing file, this might be due to fastlane's directory handling[0m
[13:17:02]: [33mCheck out https://docs.fastlane.tools/advanced/#directory-behavior for more details[0m
/Library/Ruby/Gems/2.3.0/gems/xcov-1.5.0/lib/xcov/ignore_handler.rb:55:in `realpath': No such file or directory @ realpath_rec - <BUILD_PATH_ANOTHER_NODE> (Errno::ENOENT)
Where BUILD_PATH_ANOTHER_NODE is path to workspace contained build, but it's cached path which is not actual now. I investigated value of BUILD_PATH_ANOTHER_NODE is extracted from .xccovreport file. Would it mean _-j (--derived_datapath) parameter works wrong ? Or as alternative could you propose another code coverage report generating tool compatible with Xcode xccov outputs?
We have build / run / generate coverage reports on different physical machines. We use jenkins as CI server and faced with unclear behavior of parameter
--derived_data_path
. We expect that when there are sources and derived data within jenkins workspace and we run commandxcov -j . -s <scheme> -o <out_dir>
finally we got well generated html report. There is prepared workspace structure:Output:
Where
BUILD_PATH_ANOTHER_NODE
is path to workspace contained build, but it's cached path which is not actual now. I investigated value ofBUILD_PATH_ANOTHER_NODE
is extracted from.xccovreport
file. Would it mean _-j (--derived_datapath) parameter works wrong ? Or as alternative could you propose another code coverage report generating tool compatible with Xcode xccov outputs?