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
|
|
@ -92,6 +92,8 @@ matrix:
|
||||||
env: BINDINGS=cpp CC=clang
|
env: BINDINGS=cpp CC=clang
|
||||||
before_install:
|
before_install:
|
||||||
- sudo apt-get update -qq
|
- 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" != "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" == "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
|
- if [ "$BINDINGS" == "python" ]; then sudo apt-get install -qq python-dev; fi
|
||||||
|
|
@ -100,11 +102,13 @@ install: true
|
||||||
before_script:
|
before_script:
|
||||||
- if [ "$BINDINGS" == "php" ]; then phpenv config-add src/bindings/php/hammer.ini; fi
|
- if [ "$BINDINGS" == "php" ]; then phpenv config-add src/bindings/php/hammer.ini; fi
|
||||||
script:
|
script:
|
||||||
- scons bindings=$BINDINGS test
|
- 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:
|
notifications:
|
||||||
irc:
|
irc:
|
||||||
channels:
|
channels:
|
||||||
- "irc.upstandinghackers.com#hammer"
|
- "irc.upstandinghackers.com#hammer"
|
||||||
use_notice: true
|
use_notice: true
|
||||||
skip_join: true
|
skip_join: true
|
||||||
|
|
||||||
|
|
|
||||||
15
SConstruct
15
SConstruct
|
|
@ -90,15 +90,18 @@ if GetOption("variant") == 'debug':
|
||||||
else:
|
else:
|
||||||
env = opt
|
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["CC"] = os.getenv("CC") or env["CC"]
|
||||||
env["CXX"] = os.getenv("CXX") or env["CXX"]
|
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':
|
if os.getenv("CC") == "clang" or env['PLATFORM'] == 'darwin':
|
||||||
env.Replace(CC="clang",
|
env.Replace(CC="clang",
|
||||||
CXX="clang++")
|
CXX="clang++")
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ env.Install("$pkgconfigpath", "../../../libhammer.pc")
|
||||||
testenv = env.Clone()
|
testenv = env.Clone()
|
||||||
testenv.ParseConfig('pkg-config --cflags --libs glib-2.0')
|
testenv.ParseConfig('pkg-config --cflags --libs glib-2.0')
|
||||||
testenv.Append(LIBS=['hammer'], LIBPATH=['.'])
|
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]))
|
ctest = Alias('testc', [ctestexec], "".join(["env LD_LIBRARY_PATH=", os.path.dirname(ctestexec[0].path), " ", ctestexec[0].path]))
|
||||||
AlwaysBuild(ctest)
|
AlwaysBuild(ctest)
|
||||||
testruns.append(ctest)
|
testruns.append(ctest)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue