Merge pull request #153 from abiggerhammer/master
fix --coverage build option; building with it now creates .gcda files…
This commit is contained in:
commit
2c4c4ce146
3 changed files with 17 additions and 10 deletions
10
.travis.yml
10
.travis.yml
|
|
@ -92,6 +92,8 @@ matrix:
|
|||
env: BINDINGS=cpp CC=clang
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install lcov
|
||||
- gem install coveralls-lcov
|
||||
- if [ "$BINDINGS" != "none" ]; then sudo apt-get install -qq swig; fi
|
||||
- if [ "$BINDINGS" == "perl" ]; then sudo add-apt-repository ppa:dns/irc -y; sudo apt-get update -qq; sudo apt-get install -qq swig=2.0.8-1irc1~12.04; fi
|
||||
- if [ "$BINDINGS" == "python" ]; then sudo apt-get install -qq python-dev; fi
|
||||
|
|
@ -99,12 +101,14 @@ before_install:
|
|||
install: true
|
||||
before_script:
|
||||
- if [ "$BINDINGS" == "php" ]; then phpenv config-add src/bindings/php/hammer.ini; fi
|
||||
script:
|
||||
- scons bindings=$BINDINGS test
|
||||
script:
|
||||
- if [ "$BINDINGS" == "none" ]; then scons test --variant=debug --coverage; else scons bindings=$BINDINGS test; fi
|
||||
after_success:
|
||||
- if [ "$BINDINGS" == "none" ]; then if [ "$CC" == "clang" ]; then llvm-cov gcov -o coverage.info build/debug/src/test_suite.gcda; else lcov --capture --directory build/debug/src --output-file coverage.info; fi; fi
|
||||
- coveralls-lcov coverage.info
|
||||
notifications:
|
||||
irc:
|
||||
channels:
|
||||
- "irc.upstandinghackers.com#hammer"
|
||||
use_notice: true
|
||||
skip_join: true
|
||||
|
||||
|
|
|
|||
15
SConstruct
15
SConstruct
|
|
@ -90,15 +90,18 @@ if GetOption("variant") == 'debug':
|
|||
else:
|
||||
env = opt
|
||||
|
||||
if GetOption("coverage"):
|
||||
env.Append(CFLAGS=["-fprofile-arcs", "-ftest-coverage"],
|
||||
CXXFLAGS=["-fprofile-arcs", "-ftest-coverage"],
|
||||
LDFLAGS=["-fprofile-arcs", "-ftest-coverage"],
|
||||
LIBS=['gcov'])
|
||||
|
||||
env["CC"] = os.getenv("CC") or env["CC"]
|
||||
env["CXX"] = os.getenv("CXX") or env["CXX"]
|
||||
|
||||
if GetOption("coverage"):
|
||||
env.Append(CFLAGS=["--coverage"],
|
||||
CXXFLAGS=["--coverage"],
|
||||
LDFLAGS=["--coverage"])
|
||||
if env["CC"] == "gcc":
|
||||
env.Append(LIBS=['gcov'])
|
||||
else:
|
||||
env.ParseConfig('llvm-config --ldflags')
|
||||
|
||||
if os.getenv("CC") == "clang" or env['PLATFORM'] == 'darwin':
|
||||
env.Replace(CC="clang",
|
||||
CXX="clang++")
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ env.Install("$pkgconfigpath", "../../../libhammer.pc")
|
|||
testenv = env.Clone()
|
||||
testenv.ParseConfig('pkg-config --cflags --libs glib-2.0')
|
||||
testenv.Append(LIBS=['hammer'], LIBPATH=['.'])
|
||||
ctestexec = testenv.Program('test_suite', ctests + ['test_suite.c'])
|
||||
ctestexec = testenv.Program('test_suite', ctests + ['test_suite.c'], LINKFLAGS="--coverage" if testenv.GetOption("coverage") else None)
|
||||
ctest = Alias('testc', [ctestexec], "".join(["env LD_LIBRARY_PATH=", os.path.dirname(ctestexec[0].path), " ", ctestexec[0].path]))
|
||||
AlwaysBuild(ctest)
|
||||
testruns.append(ctest)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue