Re: [libvirt] [PATCH] tests: fix use of fixedcontent variable

2016-09-19 Thread Eric Blake
On 09/19/2016 12:50 PM, Laine Stump wrote:
> Commit 8563560026d192c2cf047b550ffd468692245ed6 switched from
> hardcoded use of strcontent to hardcoded use of fixedcontent
> (fixedcontent is *sometimes* a copy of strcontent with a \n
> appended). This was a problem because sometimes fixedcontent is *not*
> a copy of strcontent, but is instead NULL, leading to the regenerated
> test case output being a 0 length file.
> 
> This patch creates a new const char *cmpcontent initialized to
> strcontent, but changed to fixedcontent if/when fixedcontent is
> created, then always uses cmpcontent instead of (str|fixed)content.
> ---
>  tests/testutils.c | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)

ACK


-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] [PATCH] tests: fix use of fixedcontent variable

2016-09-19 Thread Laine Stump
Commit 8563560026d192c2cf047b550ffd468692245ed6 switched from
hardcoded use of strcontent to hardcoded use of fixedcontent
(fixedcontent is *sometimes* a copy of strcontent with a \n
appended). This was a problem because sometimes fixedcontent is *not*
a copy of strcontent, but is instead NULL, leading to the regenerated
test case output being a 0 length file.

This patch creates a new const char *cmpcontent initialized to
strcontent, but changed to fixedcontent if/when fixedcontent is
created, then always uses cmpcontent instead of (str|fixed)content.
---
 tests/testutils.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tests/testutils.c b/tests/testutils.c
index f87628e..c934785 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -694,6 +694,7 @@ virTestCompareToFile(const char *strcontent,
 int ret = -1;
 char *filecontent = NULL;
 char *fixedcontent = NULL;
+const char *cmpcontent = strcontent;
 
 if (virTestLoadFile(filename, &filecontent) < 0 && !virTestGetRegenerate())
 goto failure;
@@ -703,13 +704,13 @@ virTestCompareToFile(const char *strcontent,
 strcontent[strlen(strcontent) - 1] != '\n') {
 if (virAsprintf(&fixedcontent, "%s\n", strcontent) < 0)
 goto failure;
+cmpcontent = fixedcontent;
 }
 
-if (STRNEQ_NULLABLE(fixedcontent ? fixedcontent : strcontent,
-filecontent)) {
+if (STRNEQ_NULLABLE(cmpcontent, filecontent)) {
 virTestDifferenceFull(stderr,
   filecontent, filename,
-  fixedcontent, NULL);
+  cmpcontent, NULL);
 goto failure;
 }
 
-- 
2.7.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list