llvm-cov: Replaced asserts with proper error handling.

Unified the interface for read functions. They all return a boolean
indicating if the read from file succeeded. Functions that previously
returned the read value now store it into a variable that is passed in
by reference instead. Callers will need to check the return value to
detect if an error occurred.

Also added a new test which ensures that no assertions occur when file
contains invalid data. llvm-cov should return with error code 1 upon
failure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194635 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Yuchen Wu
2013-11-14 00:07:15 +00:00
parent 006806267a
commit dbb51ff01f
3 changed files with 109 additions and 62 deletions

View File

@@ -1,4 +1,8 @@
RUN: cd %p/Inputs && llvm-cov -gcno=test.gcno -gcda=test.gcda \
RUN: cd %p/Inputs
RUN: llvm-cov -gcno=test.gcno -gcda=test.gcda \
RUN: | diff test.cpp.gcov -
RUN: not llvm-cov -gcno=test_read_fail.gcno -gcda=test.gcda
XFAIL: powerpc64, s390x, arm