You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2014/01/14 20:21:03 UTC

[lucy-commits] [17/50] git commit: Add code coverage target to Makefile

Add code coverage target to Makefile

Create HTML pages with coverage data using lcov like this:

$ ./configure --enable-coverage
$ make
$ make coverage


Project: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/commit/d217b037
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/d217b037
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/d217b037

Branch: refs/heads/master
Commit: d217b03751b5a3da8c3a0647151f7e98e8491cba
Parents: 7063130
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Apr 30 21:55:58 2013 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Apr 30 22:45:12 2013 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/CFlags.c | 11 +++++++++++
 src/Charmonizer/Core/CFlags.h |  3 +++
 src/Charmonizer/Probe.c       |  6 ++++++
 src/Charmonizer/Probe.h       |  2 ++
 4 files changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/d217b037/src/Charmonizer/Core/CFlags.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.c b/src/Charmonizer/Core/CFlags.c
index dd66ca5..ffd5b9a 100644
--- a/src/Charmonizer/Core/CFlags.c
+++ b/src/Charmonizer/Core/CFlags.c
@@ -274,4 +274,15 @@ chaz_CFlags_add_library(chaz_CFlags *flags, const char *library) {
     free(string);
 }
 
+void
+chaz_CFlags_enable_code_coverage(chaz_CFlags *flags) {
+    if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
+        chaz_CFlags_append(flags, "--coverage");
+    }
+    else {
+        chaz_Util_die("Don't know how to enable code coverage with '%s'",
+                      chaz_CC_get_cc());
+    }
+}
+
 

http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/d217b037/src/Charmonizer/Core/CFlags.h
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.h b/src/Charmonizer/Core/CFlags.h
index 2b4ffe6..989518f 100644
--- a/src/Charmonizer/Core/CFlags.h
+++ b/src/Charmonizer/Core/CFlags.h
@@ -85,6 +85,9 @@ chaz_CFlags_add_library_path(chaz_CFlags *flags, const char *directory);
 void
 chaz_CFlags_add_library(chaz_CFlags *flags, const char *library);
 
+void
+chaz_CFlags_enable_code_coverage(chaz_CFlags *flags);
+
 #ifdef __cplusplus
 }
 #endif

http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/d217b037/src/Charmonizer/Probe.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Probe.c b/src/Charmonizer/Probe.c
index c1475db..886589b 100644
--- a/src/Charmonizer/Probe.c
+++ b/src/Charmonizer/Probe.c
@@ -56,6 +56,12 @@ chaz_Probe_parse_cli_args(int argc, const char *argv[],
             args->charmony_rb = 1;
             output_enabled = 1;
         }
+        else if (strcmp(arg, "--enable-makefile") == 0) {
+            args->write_makefile = 1;
+        }
+        else if (strcmp(arg, "--enable-coverage") == 0) {
+            args->code_coverage = 1;
+        }
         else if (memcmp(arg, "--cc=", 5) == 0) {
             if (strlen(arg) > CHAZ_PROBE_MAX_CC_LEN - 5) {
                 fprintf(stderr, "Exceeded max length for compiler command");

http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/d217b037/src/Charmonizer/Probe.h
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Probe.h b/src/Charmonizer/Probe.h
index 9d44efa..7f1e321 100644
--- a/src/Charmonizer/Probe.h
+++ b/src/Charmonizer/Probe.h
@@ -34,6 +34,8 @@ struct chaz_CLIArgs {
     int  charmony_pm;
     int  charmony_rb;
     int  verbosity;
+    int  write_makefile;
+    int  code_coverage;
 };
 
 /* Parse command line arguments, initializing and filling in the supplied