On 26/07/15 15:41, Rakesh Kumar wrote:
> Hi All,
> 
> While trying to generate HTML test coverage reports, I am facing an
> error. Can anyone please advice on this. Help would be appreciated.
> 
> 
> [00:36 rakesh@param
> /home/rakesh/development/gnu_development/coreutils$]  :
> lcov -t coreutils -q -d lib -b `pwd` -o lib.lcov -c
> 
> Cannot open source file parse-datetime.c

`make coverage` gives a similar error for me saying
that lib/lib/parse-datetime.y is not available.
That looks to be due to parse-datetime.c being moved after being generated,
thus having incorrect paths pertaining to parse-datetime.y.

With the attached applied to gnulib I no longer see the issue.

cheers,
Pádraig.

p.s. I see a similar error on hydra also with the doubled lib/lib,
saying that lib/lib/c-ctype.h is not found.
I've not looked into that, as `make coverage` doesn't give that here.
From 6b662df1edcf71f442c6fe74bfe838e44d3b8503 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <p...@draigbrady.com>
Date: Tue, 3 Jan 2017 00:52:13 +0000
Subject: [PATCH] parse-datetime: fix generated paths for coverage files

* modules/parse-datetime: Adjust the paths for parse-datetime.y
within parse-datetime.c, so that gcc generates appropriate .gcno
files, allowing lcov to proceed without error.  Previously it
would error trying to find "lib/lib/parse-datetime.y".
---
 ChangeLog              | 8 ++++++++
 modules/parse-datetime | 4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index b2fe194..4dfa496 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2017-01-03  Pádraig Brady  <p...@draigbrady.com>
+
+	parse-datetime: fix generated paths for coverage files
+	* modules/parse-datetime: Adjust the paths for parse-datetime.y
+	within parse-datetime.c, so that gcc generates appropriate .gcno
+	files, allowing lcov to proceed without error.  Previously it
+	would error trying to find "lib/lib/parse-datetime.y".
+
 2017-01-02  Pádraig Brady  <p...@draigbrady.com>
 
 	maint.mk: support parallel execution of coverage
diff --git a/modules/parse-datetime b/modules/parse-datetime
index dc25bec..e059d17 100644
--- a/modules/parse-datetime
+++ b/modules/parse-datetime
@@ -38,7 +38,9 @@ parse-datetime.c: parse-datetime.y
 	                              y.output parse-datetime.output \
 	                              -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \
 	mv parse-datetime.c parse-datetime.c-t && \
-	mv parse-datetime.c-t $(srcdir)/parse-datetime.c
+	$(SED) 's|".*/parse-datetime.y"|"parse-datetime.y"|' \
+	 < parse-datetime.c-t > $(srcdir)/parse-datetime.c && \
+	rm -f parse-datetime.c-t
 lib_SOURCES += parse-datetime.y
 BUILT_SOURCES += parse-datetime.c
 MOSTLYCLEANFILES += parse-datetime.c-t
-- 
2.5.5

Reply via email to