From: a bellenir Date: Fri, 29 Aug 2014 19:24:18 +0000 (+0000) Subject: enable coverage analysis X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=99f67ff8e821cb43fdf4b50d4e46e82869d691b9;p=projs%2Flibcds.git enable coverage analysis --- diff --git a/Rakefile b/Rakefile index 4fce26f..a4e7d79 100644 --- a/Rakefile +++ b/Rakefile @@ -15,8 +15,8 @@ require 'rbconfig' #------------------------------------------------------------------------------ # Define the compiler environment Env = Rscons::Environment.new do |env| - env.build_dir('source/','build/obj/source') - env["CFLAGS"] += ['--std=c99', '-Wall', '-Wextra', '-Werror'] + env.build_dir('source','build/obj/source') + env["CFLAGS"] += ['--std=c99', '--pedantic', '-Wall', '-Wextra', '-Werror'] env['CPPPATH'] += Dir['source/**/'] end @@ -24,7 +24,9 @@ end TestEnv = Env.clone do |env| env.build_dir('source','build/obj/test_source') env.build_dir('tests','build/obj/tests/source') - env['CFLAGS'] += ['-DLEAK_DETECT_LEVEL=1'] + env['CFLAGS'] += ['-g', '--coverage', '-DLEAK_DETECT_LEVEL=1'] + #env['CFLAGS'] += ['-DNDEBUG'] #disables asserts so they won't effect coverage analysis + env["LDFLAGS"] += ['--coverage'] env['CPPPATH'] += Dir['tests/'] end @@ -50,6 +52,14 @@ task :test do TestEnv.Program('build/test_libcds', Dir['source/**/*.c', 'tests/**/*.c']) TestEnv.process sh "build/test_libcds" + FileList['build/obj/test_source/**/*.gcno'].each do |gcno| + obj = gcno.ext('o') + path = File.dirname(obj) + gcov = File.basename(obj).ext('c.gcov') + sh *['gcov', '-abc', obj] + FileUtils.cp(gcov,"#{path}/#{gcov}") + FileUtils.rm(gcov) + end end #------------------------------------------------------------------------------