build: Add --enable-coverage option to build with gcov support
authorAndrew Bartlett <abartlet@samba.org>
Fri, 10 Feb 2012 04:19:05 +0000 (15:19 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 10 Feb 2012 05:45:11 +0000 (16:45 +1100)
This allows running lcov over the output.

Andrew Bartlett

selftest/wscript

index 1bfa9f3d4743ec3296ed34f1de5642410e56a4f5..ab08c62ce355e9ed8537e45f162ad3664b7b11a3 100644 (file)
@@ -12,6 +12,9 @@ def set_options(opt):
     opt.add_option('--enable-selftest',
                    help=("enable options necessary for selftest (default=no)"),
                    action="store_true", dest='enable_selftest', default=False)
+    opt.add_option('--enable-coverage',
+                   help=("enable options necessary for code coverage reporting on selftest (default=no)"),
+                   action="store_true", dest='enable_coverage', default=False)
     opt.add_option('--with-selftest-prefix',
                    help=("specify location of selftest directory (default=./st)"),
                    action="store", dest='SELFTEST_PREFIX', default='./st')
@@ -69,6 +72,10 @@ def set_options(opt):
 
 def configure(conf):
     conf.env.SELFTEST_PREFIX = Options.options.SELFTEST_PREFIX
+    conf.env.enable_coverage = Options.options.enable_coverage
+    if conf.env.enable_coverage:
+        conf.ADD_LDFLAGS('-lgcov', testflags=True)
+        conf.ADD_CFLAGS('--coverage')
 
 def cmd_testonly(opt):
     '''run tests without doing a build first'''