From 62f374b19e2c6cfd417df4a6781a8b8e0a338df4 Mon Sep 17 00:00:00 2001
From: Yang Tse <yangsita@gmail.com>
Date: Tue, 5 Jun 2012 20:01:23 +0200
Subject: [PATCH] tests: adjust file part behavior in test verify section.

When a <file> part is now specified with no contents at all, this
will actually verify that the specified file has no contents at all.
Previously file contents would be ignored.
---
 tests/getpart.pm  | 19 +++++++++++++++++++
 tests/runtests.pl |  2 +-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/tests/getpart.pm b/tests/getpart.pm
index 1aeedd6dd4..d9510dd208 100644
--- a/tests/getpart.pm
+++ b/tests/getpart.pm
@@ -124,6 +124,25 @@ sub getpart {
     return @this; #empty!
 }
 
+sub partexists {
+    my ($section, $part)=@_;
+
+    my $inside = 0;
+
+    for(@xml) {
+        if(!$inside && ($_ =~ /^ *\<$section/)) {
+            $inside++;
+        }
+        elsif((1 == $inside) && ($_ =~ /^ *\<$part[ \>]/)) {
+            return 1; # exists
+        }
+        elsif((1 == $inside) && ($_ =~ /^ *\<\/$section/)) {
+            return 0; # does not exist
+        }
+    }
+    return 0; # does not exist
+}
+
 # Return entire document as list of lines
 sub getall {
     return @xml;
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 65dd9610ba..ed234be234 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -3499,7 +3499,7 @@ sub singletest {
     my $outputok;
     for my $partsuffix (('', '1', '2', '3', '4')) {
         my @outfile=getpart("verify", "file".$partsuffix);
-        if(@outfile) {
+        if(@outfile || partexists("verify", "file".$partsuffix) ) {
             # we're supposed to verify a dynamically generated file!
             my %hash = getpartattr("verify", "file".$partsuffix);
 
-- 
GitLab