The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
hyperlane-monorepo/solidity/coverage.sh

20 lines
817 B

yarn hardhat coverage && forge coverage --report lcov && \
# Foundry uses paths relative to hyperlane-monorepo/solidity
# whereas Hardhat uses absolute paths (locally) or paths
# relative to hyperlane-monorepo (ci).
# We convert Hardhat paths to Foundry paths so coverage artifacts
# can be merged.
sed -i -e 's/\/.*solidity.//g' coverage/lcov.info && \
# Merge the two
find . -name lcov.info -exec echo -a {} \; | xargs lcov -o lcov.info && \
# Clean up output
rm -rf coverage && \
# Remove files we don't care about covering
lcov --remove lcov.info -o lcov.info 'contracts/test/**' 'contracts/mock/**' '**/node_modules/**' 'test/*' && \
# Print output
lcov --list lcov.info && \
# Open more granular breakdown in browser
if [ "$CI" != "true" ]
then
genhtml -o coverage lcov.info && open coverage/index.html
fi