On 02.02.2016 17:13, Clément Bœsch wrote:
> On Mon, Jan 25, 2016 at 08:51:32PM +0100, Andreas Cadhalpun wrote:
>> ffmpeg | branch: master | Andreas Cadhalpun 
>> <andreas.cadhal...@googlemail.com> | Mon Jan 25 01:42:23 2016 +0100| 
>> [b46aae093634271931395d65f422f4b2a23112d3] | committer: Andreas Cadhalpun
>>
>> build: use a link instead of changing current directory when compiling
>>
>> If links don't work, fall back to using the full source path as was
>> previously done.
>>
>> This should fix build failures with MSVC.
>>
> 
> This commit seems to break coverage.
> 
> [~/ffbuild/lcov]☭ make lcov
> LCOV  coverage.info
> Cannot open source file src/ffmpeg_vdpau.c
> [...]

I see, it passes '-b $(SRC_PATH)' to lcov, which is now unnecessary/harmful
for out-of-tree builds using the src link.
The first attached patch changes it to simply use the current directory in
that case.
The second patch was necessary to fix the following error:
lcov: ERROR: cannot write to coverage.info!

Does it work for you without that patch?

> http://coverage.ffmpeg.org is broken because of this.

It would be great if that site would have a more meaningful error message
than '404 Not Found'.

Best regards,
Andreas

>From ac789e76bd28ac067591b58165094788a376fd6c Mon Sep 17 00:00:00 2001
From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
Date: Wed, 3 Feb 2016 00:24:21 +0100
Subject: [PATCH 1/2] build: fix lcov with src link

When out-of-tree builds now use a relative path, the '-b' option of lcov
is not needed, so just pass the current directory to it in this case.

Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
---
 tests/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/Makefile b/tests/Makefile
index ac524ac..db2bc61 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -216,7 +216,7 @@ fate-list:
 
 coverage.info: TAG = LCOV
 coverage.info:
-	$(M)lcov -q -d $(CURDIR) -b $(SRC_PATH) --capture | \
+	$(M)lcov -q -d $(CURDIR) -b $(patsubst src%,./,$(SRC_LINK)) --capture | \
 	    sed "s,$(CURDIR)/\./,$(CURDIR)/," > $@
 	$(M)lcov -q --remove $@ "/usr*" -o $@
 
-- 
2.7.0

>From a61f724079be9b0193ab7f917f13f1b4e5c10eeb Mon Sep 17 00:00:00 2001
From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
Date: Wed, 3 Feb 2016 00:24:26 +0100
Subject: [PATCH 2/2] build: use intermediate lcov coverage file

Otherwise the 'lcov -q --remove' run fails with the following error:
lcov: ERROR: cannot write to coverage.info!

Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
---
 tests/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/Makefile b/tests/Makefile
index db2bc61..6e5dfa6 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -217,8 +217,9 @@ fate-list:
 coverage.info: TAG = LCOV
 coverage.info:
 	$(M)lcov -q -d $(CURDIR) -b $(patsubst src%,./,$(SRC_LINK)) --capture | \
-	    sed "s,$(CURDIR)/\./,$(CURDIR)/," > $@
-	$(M)lcov -q --remove $@ "/usr*" -o $@
+	    sed "s,$(CURDIR)/\./,$(CURDIR)/," > $@.in
+	$(M)lcov -q --remove $@.in "/usr*" > $@
+	$(Q)$(RM) $@.in
 
 lcov:  TAG = GENHTML
 lcov: coverage.info
-- 
2.7.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to