SlatherOrg / slather

Generate test coverage reports for Xcode projects & hook it into CI.
MIT License
1.55k stars 233 forks source link

Unexpected token at '' #516

Open MarcBiosca opened 2 years ago

MarcBiosca commented 2 years ago

Hi, I'm trying to use slather to convert Xcode coverage output to Cobertura XML format. The project contains both objective-c and swift files.

The output from Xcode seems OK, there is the profdata file which is not empty, also the .gcdo, .dia etc files...

But slather ends up with the below error:

Slathering...

Processing coverage file: /Users/marcbiosca/Library/Developer/Xcode/DerivedData/MobileSDK-cdwqzqnpwqkarzdkewkdznfastpf/Build/ProfileData/21968B43-AFA4-4330-B505-45D1D0DB1F57/Coverage.profdata
Against binary files:
    /Users/marcbiosca/Library/Developer/Xcode/DerivedData/MobileSDK-cdwqzqnpwqkarzdkewkdznfastpf/Build/Products/PlotDebug-iphonesimulator/libSelligentMobile.a

error: /Users/marcbiosca/Library/Developer/Xcode/DerivedData/MobileSDK-cdwqzqnpwqkarzdkewkdznfastpf/Build/Products/PlotDebug-iphonesimulator/libSelligentMobile.a: Failed to load coverage: No coverage data found
error: Could not load coverage information

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/json/common.rb:156:in 'parse': 767: unexpected token at '' (JSON::ParserError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/json/common.rb:156:in 'parse'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/lib/slather/project.rb:135:in 'pathnames_per_binary'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/lib/slather/project.rb:124:in 'block in profdata_coverage_files'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/lib/slather/project.rb:123:in 'each'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/lib/slather/project.rb:123:in 'profdata_coverage_files'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/lib/slather/project.rb:98:in 'coverage_files'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/lib/slather/coverage_service/simple_output.rb:17:in 'post'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/lib/slather/command/coverage_command.rb:101:in 'post'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/lib/slather/command/coverage_command.rb:61:in 'execute'
    from /Library/Ruby/Gems/2.6.0/gems/clamp-1.3.2/lib/clamp/command.rb:66:in 'run'
    from /Library/Ruby/Gems/2.6.0/gems/clamp-1.3.2/lib/clamp/subcommand/execution.rb:18:in 'execute'
    from /Library/Ruby/Gems/2.6.0/gems/clamp-1.3.2/lib/clamp/command.rb:66:in 'run'
    from /Library/Ruby/Gems/2.6.0/gems/clamp-1.3.2/lib/clamp/command.rb:140:in 'run'
    from /Library/Ruby/Gems/2.6.0/gems/slather-2.7.2/bin/slather:17:in '<top (required)>'
    from /usr/local/bin/slather:23:in 'load'
    from /usr/local/bin/slather:23:in '<main>'

Any idea what could go wrong here?