test/run_tests.pl: Improve indentation parsing workaround for VFO and VFP mode
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>
Sat, 20 Jun 2020 15:20:20 +0000 (17:20 +0200)
committerDr. David von Oheimb <David.von.Oheimb@siemens.com>
Mon, 22 Jun 2020 14:41:24 +0000 (16:41 +0200)
Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/12175)

test/run_tests.pl

index 8a4e770a75e33a360678d41095160a2ae9af7d44..8306c6018ae0a349d6631ebfb80d6f34c3b5ad81 100644 (file)
@@ -157,13 +157,18 @@ $eres = eval {
                     my $tests_planned = $is_plan && $self->tests_planned;
                     my $is_test = $self->is_test;
                     my $is_ok = $is_test && $self->is_ok;
-                    # workaround in case parser not coping with indentation:
+
+                    # workaround for parser not coping with sub-test indentation
                     if ($self->is_unknown) {
+                        my $level = $#plans;
+                        my $indent = $level < 0 ? "" : " " x ($level * 4);
+
                         ($is_plan, $tests_planned) = (1, $1)
-                            if ($self->as_string =~ m/^\s+1\.\.(\d+)/);
+                            if ($self->as_string =~ m/^$indent    1\.\.(\d+)/);
                         ($is_test, $is_ok) = (1, !$1)
-                            if ($self->as_string =~ m/^\s+(not )?ok /);
+                            if ($self->as_string =~ m/^$indent(not )?ok /);
                     }
+
                     if ($is_plan) {
                         push @plans, $tests_planned;
                         $output_buffer = ""; # ignore comments etc. until plan