add LCOV_EXCL macros to avoid line coverage