Data-Edit-Xml-Lint v20180723 Perl 5 v5.26.0 MSWin32-x64-multi-thread

Status
Fail
From
David Solimano
Dist
Data-Edit-Xml-Lint v20180723
Platform
Perl 5 v5.26.0 MSWin32-x64-multi-thread
Date
2018-07-24 15:43:03
ID
97c3e20b-8f98-1014-bdac-a8d45f496936
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language.  See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org


--
Dear Philip R Brenan,

This is a computer-generated report for Data-Edit-Xml-Lint-20180723
on perl 5.26.0, created by CPAN-Reporter-1.2018.

Thank you for uploading your work to CPAN.  However, there was a problem
testing your distribution.

If you think this report is invalid, please consult the CPAN Testers Wiki
for suggestions on how to avoid getting FAIL reports for missing library
or binary dependencies, unsupported operating systems, and so on:

http://wiki.cpantesters.org/wiki/CPANAuthorNotes

Sections of this report:

    * Tester comments
    * Program output
    * Prerequisites
    * Environment and other context

------------------------------
TESTER COMMENTS
------------------------------

Additional comments from tester:

this report is from an automated smoke testing program
and was not reviewed by a human for accuracy

------------------------------
PROGRAM OUTPUT
------------------------------

Output from 'C:\Strawberry\perl\bin\perl.exe ./Build test':

Attempt to free unreferenced scalar: SV 0x48f5e60, Perl interpreter: 0x3d11318 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x4068318, Perl interpreter: 0x2acf5c8 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x448a918, Perl interpreter: 0x427a448 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x3b7aef8, Perl interpreter: 0x2acf5c8 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x3b1f4b8, Perl interpreter: 0x2acf5c8 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x399cd30, Perl interpreter: 0x3b35058 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x4bf2530, Perl interpreter: 0x496c078 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x41a9e88, Perl interpreter: 0x3a89d98 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x4ceb618, Perl interpreter: 0x496c078 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x482bad0, Perl interpreter: 0x2acf5c8 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x37bbee0, Perl interpreter: 0x3a89c58 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x4d3b958, Perl interpreter: 0x472b058 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x3e9b470, Perl interpreter: 0x2acf5c8 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x4443688, Perl interpreter: 0x2acf5c8 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x4d85db0, Perl interpreter: 0x3cc00f8 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
Attempt to free unreferenced scalar: SV 0x3545a20, Perl interpreter: 0x3a1f248 at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256.
FIND: Parameter format not correct
No files selected at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 548, <DATA> line 316.
	Data::Edit::Xml::Lint::report("out", "xml") called at (eval 53) line 73
	eval 'use warnings FATAL=>qw(all);
use strict;
use Test::More tests=>103;
use Test::SharedFork;
use Data::Edit::Xml;

#Test::More->builder->output("/dev/null");                                      # Show only errors during testing - but this must be commented out for production

if (qx(xmllint --version 2>&1) !~ m/using libxml/)                              # Skip tests if xmllint is not installed
 {my $n = Test::More->builder->expected_tests;
  diag("xmllint not installed - skipping all tests");
  ok 1 for 1..$n;
  exit 0
 }

my $outDir = "out";                                                             # Output directory

sub createTest($$;$)                                                           # Create a test
 {my ($project, $source, $target, $additional) = @_;
  $additional //= \'\';
  [$project, $source, $target, $additional, <<END]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE concept PUBLIC "-//HPE//DTD HPE DITA Concept//EN" "concept.dtd" []>
<concept id="c_${project}_${source}">
 <title>project=$project source=$source target=$target</title>
 <conbody id="b_${project}_${source}">
   <p>See: <xref href="B_${project}_${target}"/></p>$additional
 </conbody>
</concept>
END
 }

sub tests                                                                       # Create tests
 {my @tests;
  for my $project(qw(aaa bbb ccc ddd))
   {push @tests,
     (createTest($project, 1, 1),
      createTest($project, 2, 1),
      createTest($project, 3, 2),
      createTest($project, 4, 3));
   }
  @tests
 }

# Test without file reuse
my @lints;                                                                      # Lints for each test
my %tests;                                                                      # Tests by title

for my $test(tests)                                                             # Each test within the current project
 {my ($project, $source, $target, $additional, $xml) = @$test;

  my $x = Data::Edit::Xml::new($xml);
     $x->addLabels("C1_${project}_$source","C2_${project}_$source");
  my $c = $x->go(qw(conbody));
     $c->addLabels("B1_${project}_$source","B2_${project}_$source");

  my $lint = Data::Edit::Xml::Lint::new;                                        # Lint each test file
  push @lints, [$lint, $test];
  $lint->project   = $project;
  $lint->labels    = $x;
  $lint->author    = \'author@author.com\';                                       # Author
  $lint->file      = filePathExt($outDir, $project.$source, qw(xml));           # Target file
  $lint->source    = $xml;                                                      # Xml source
  $lint->guid      = my $g = "$project.$source";                                # Guid for this topic
  $lint->lint(foo=>1);                                                          # Write the source to the target file, lint using xmllint, include some attributes to be included as comments at the end of the target file
  $tests{$g} = [$lint, @$test];                                                 # Tests
 }

ok @lints == 16;

waitAllProcesses;                                                               # Wait for lints to complete

my $report = Data::Edit::Xml::Lint::report($outDir, "xml");
delete $report->{$_} for qw(timestamp print);

is_deeply $report,
 {failingFiles     => [],
  numberOfFiles    => 16,
  numberOfProjects => 4,
  passRatePercent  => 100,
  projects         => {
                      aaa => ["aaa", 4, 0, 4, 100],
                      bbb => ["bbb", 4, 0, 4, 100],
                      ccc => ["ccc", 4, 0, 4, 100],
                      ddd => ["ddd", 4, 0, 4, 100],
                    },
 } if 0; # Where will we find the DTD\'s required by xmllint?

Data::Edit::Xml::Lint::relint(1,                                                # Reprocess all the files
  sub                                                                           # Analysis sub
   {my ($labels, $filesToGuids) = @_;                                           # Link map, files to guids
    is_deeply($labels,       &labelsInXml);
    is_deeply($filesToGuids, &filesToGuidsX);

    my $r = resolveFileToGuid($filesToGuids, "out/ddd4.xml");                   # Return the unique definition of the specified link in the link map or undef if no such definition exists
    ok $r eq "ddd.4";
    ok multipleLabelDefsReport($labels) eq "No MultipleLabelOrIdDefinitions";

    my $s = singleLabelDefsReport($labels) =~ s(\\n) (N)gsr;
    ok $s eq "SingleLabelOrIdDefinitions (96):N 1  Project  Label     N 2  aaa      B1_aaa_1  N 3  aaa      B1_aaa_2  N 4  aaa      B1_aaa_3  N 5  aaa      B1_aaa_4  N 6  aaa      B2_aaa_1  N 7  aaa      B2_aaa_2  N 8  aaa      B2_aaa_3  N 9  aaa      B2_aaa_4  N10  aaa      C1_aaa_1  N11  aaa      C1_aaa_2  N12  aaa      C1_aaa_3  N13  aaa      C1_aaa_4  N14  aaa      C2_aaa_1  N15  aaa      C2_aaa_2  N16  aaa      C2_aaa_3  N17  aaa      C2_aaa_4  N18  aaa      b_aaa_1   N19  aaa      b_aaa_2   N20  aaa      b_aaa_3   N21  aaa      b_aaa_4   N22  aaa      c_aaa_1   N23  aaa      c_aaa_2   N24  aaa      c_aaa_3   N25  aaa      c_aaa_4   N26  bbb      B1_bbb_1  N27  bbb      B1_bbb_2  N28  bbb      B1_bbb_3  N29  bbb      B1_bbb_4  N30  bbb      B2_bbb_1  N31  bbb      B2_bbb_2  N32  bbb      B2_bbb_3  N33  bbb      B2_bbb_4  N34  bbb      C1_bbb_1  N35  bbb      C1_bbb_2  N36  bbb      C1_bbb_3  N37  bbb      C1_bbb_4  N38  bbb      C2_bbb_1  N39  bbb      C2_bbb_2  N40  bbb      C2_bbb_3  N41  bbb      C2_bbb_4  N42  bbb      b_bbb_1   N43  bbb      b_bbb_2   N44  bbb      b_bbb_3   N45  bbb      b_bbb_4   N46  bbb      c_bbb_1   N47  bbb      c_bbb_2   N48  bbb      c_bbb_3   N49  bbb      c_bbb_4   N50  ccc      B1_ccc_1  N51  ccc      B1_ccc_2  N52  ccc      B1_ccc_3  N53  ccc      B1_ccc_4  N54  ccc      B2_ccc_1  N55  ccc      B2_ccc_2  N56  ccc      B2_ccc_3  N57  ccc      B2_ccc_4  N58  ccc      C1_ccc_1  N59  ccc      C1_ccc_2  N60  ccc      C1_ccc_3  N61  ccc      C1_ccc_4  N62  ccc      C2_ccc_1  N63  ccc      C2_ccc_2  N64  ccc      C2_ccc_3  N65  ccc      C2_ccc_4  N66  ccc      b_ccc_1   N67  ccc      b_ccc_2   N68  ccc      b_ccc_3   N69  ccc      b_ccc_4   N70  ccc      c_ccc_1   N71  ccc      c_ccc_2   N72  ccc      c_ccc_3   N73  ccc      c_ccc_4   N74  ddd      B1_ddd_1  N75  ddd      B1_ddd_2  N76  ddd      B1_ddd_3  N77  ddd      B1_ddd_4  N78  ddd      B2_ddd_1  N79  ddd      B2_ddd_2  N80  ddd      B2_ddd_3  N81  ddd      B2_ddd_4  N82  ddd      C1_ddd_1  N83  ddd      C1_ddd_2  N84  ddd      C1_ddd_3  N85  ddd      C1_ddd_4  N86  ddd      C2_ddd_1  N87  ddd      C2_ddd_2  N88  ddd      C2_ddd_3  N89  ddd      C2_ddd_4  N90  ddd      b_ddd_1   N91  ddd      b_ddd_2   N92  ddd      b_ddd_3   N93  ddd      b_ddd_4   N94  ddd      c_ddd_1   N95  ddd      c_ddd_2   N96  ddd      c_ddd_3   N97  ddd      c_ddd_4   N";
   },
  sub                                                                           # Reprocess sub
   {my ($x, $labels, $filesToGuids, $lint) = @_;
    my $project = $lint->project;

    if (1)                                                                      # Prove we can resolve links
     {my $source = "C1_${project}_1";
      my $target = ["out/${project}1.xml", "c_${project}_1"];
      my $resolve = [resolveUniqueLink($labels, $source)];                      # Return the unique (file, leading id) of the specified link in the link map or () if no such definition exists
      is_deeply $target, $resolve;
     }

    if ($project !~ m(\\Aaaa\\Z)s)                                                # Show that we cannot resolve this link in the other projects
     {my $source = "C1_aaa_1";
      my $target = ["out/aaa1.xml", "c_aaa_1"];
      my ($resolve) = resolveUniqueLink($labels, $source);                      # Return the unique (file, leading id) of the specified link in the link map or () if no such definition exists
      ok !$resolve;
     }

    is_deeply $filesToGuids, &filesToGuidsX;

    1
   }, $outDir, "xml");

# Test with file reuse

if (1)
 {my $reuseFile = filePathExt($outDir, "aaa1", qw(xml));                        # File to reuse in all projects
  for my $project(qw(bbb ccc ddd))
   {reuseFileInProject($reuseFile, $project);                                   # Reuse this file in all the other projects
   }
  my $l = Data::Edit::Xml::Lint::read($reuseFile);
  is_deeply $l->reusedInProject, ["bbb", "ccc", "ddd"];                         # Check reuse has been recorded
 }

Data::Edit::Xml::Lint::relint(1,                                                # Reprocess all the files
  sub                                                                           # Analysis sub
   {my ($labels, $filesToGuids) = @_;                                           # Link map, files to guids
    if (my $a = &labelsInXml)
     {$a->{bbb}{B1_aaa_1}[0] = $a->{aaa}{B1_aaa_1}[0];
      $a->{bbb}{B2_aaa_1}[0] = $a->{aaa}{B2_aaa_1}[0];
      $a->{bbb}{b_aaa_1}[0] = $a->{aaa}{b_aaa_1}[0];
      $a->{bbb}{C1_aaa_1}[0] = $a->{aaa}{C1_aaa_1}[0];
      $a->{bbb}{C2_aaa_1}[0] = $a->{aaa}{C2_aaa_1}[0];
      $a->{bbb}{c_aaa_1}[0] = $a->{aaa}{c_aaa_1}[0];
      $a->{ccc}{B1_aaa_1}[0] = $a->{aaa}{B1_aaa_1}[0];
      $a->{ccc}{B2_aaa_1}[0] = $a->{aaa}{B2_aaa_1}[0];
      $a->{ccc}{b_aaa_1}[0] = $a->{aaa}{b_aaa_1}[0];
      $a->{ccc}{C1_aaa_1}[0] = $a->{aaa}{C1_aaa_1}[0];
      $a->{ccc}{C2_aaa_1}[0] = $a->{aaa}{C2_aaa_1}[0];
      $a->{ccc}{c_aaa_1}[0] = $a->{aaa}{c_aaa_1}[0];
      $a->{ddd}{B1_aaa_1}[0] = $a->{aaa}{B1_aaa_1}[0];
      $a->{ddd}{B2_aaa_1}[0] = $a->{aaa}{B2_aaa_1}[0];
      $a->{ddd}{b_aaa_1}[0] = $a->{aaa}{b_aaa_1}[0];
      $a->{ddd}{C1_aaa_1}[0] = $a->{aaa}{C1_aaa_1}[0];
      $a->{ddd}{C2_aaa_1}[0] = $a->{aaa}{C2_aaa_1}[0];
      $a->{ddd}{c_aaa_1}[0] = $a->{aaa}{c_aaa_1}[0];

      is_deeply($labels, $a);
     }
    is_deeply($filesToGuids, &filesToGuidsX);

    my $r = resolveFileToGuid($filesToGuids, "out/ddd4.xml");                   # Return the unique definition of the specified link in the link map or undef if no such definition exists
    ok $r eq "ddd.4";
    ok multipleLabelDefsReport($labels) eq "No MultipleLabelOrIdDefinitions";
   },
  sub                                                                           # Reprocess sub
   {my ($x, $labels, $filesToGuids, $lint) = @_;
    my $project = $lint->project;

    if (1)
     {my $source = "C1_${project}_1";
      my $target = ["out/${project}1.xml", "c_${project}_1"];
      my $resolve = [resolveUniqueLink($labels, $source)];                      # Return the unique (file, leading id) of the specified link in the link map or () if no such definition exists

      is_deeply $target, $resolve;
     }

    if (1)                                                                      # Show that we can resolve this link in all projects
     {my $source = "C1_aaa_1";
      my $target = ["out/aaa1.xml", "c_aaa_1"];
      my $resolve = [resolveUniqueLink($labels, $source)];                      # Return the unique (file, leading id) of the specified link in the link map or () if no such definition exists
      is_deeply $target, $resolve;
     }

    is_deeply $filesToGuids, &filesToGuidsX;

    1
   }, $outDir, "xml");

sub filesToGuidsX
{{
  "out/aaa1.xml" => "aaa.1",
  "out/aaa2.xml" => "aaa.2",
  "out/aaa3.xml" => "aaa.3",
  "out/aaa4.xml" => "aaa.4",
  "out/bbb1.xml" => "bbb.1",
  "out/bbb2.xml" => "bbb.2",
  "out/bbb3.xml" => "bbb.3",
  "out/bbb4.xml" => "bbb.4",
  "out/ccc1.xml" => "ccc.1",
  "out/ccc2.xml" => "ccc.2",
  "out/ccc3.xml" => "ccc.3",
  "out/ccc4.xml" => "ccc.4",
  "out/ddd1.xml" => "ddd.1",
  "out/ddd2.xml" => "ddd.2",
  "out/ddd3.xml" => "ddd.3",
  "out/ddd4.xml" => "ddd.4",
}}

sub labelsInXml
 {{aaa => {
           B1_aaa_1 => [["out/aaa1.xml", "b_aaa_1"]],
           B1_aaa_2 => [["out/aaa2.xml", "b_aaa_2"]],
           B1_aaa_3 => [["out/aaa3.xml", "b_aaa_3"]],
           B1_aaa_4 => [["out/aaa4.xml", "b_aaa_4"]],
           B2_aaa_1 => [["out/aaa1.xml", "b_aaa_1"]],
           B2_aaa_2 => [["out/aaa2.xml", "b_aaa_2"]],
           B2_aaa_3 => [["out/aaa3.xml", "b_aaa_3"]],
           B2_aaa_4 => [["out/aaa4.xml", "b_aaa_4"]],
           b_aaa_1  => [["out/aaa1.xml", "b_aaa_1"]],
           b_aaa_2  => [["out/aaa2.xml", "b_aaa_2"]],
           b_aaa_3  => [["out/aaa3.xml", "b_aaa_3"]],
           b_aaa_4  => [["out/aaa4.xml", "b_aaa_4"]],
           C1_aaa_1 => [["out/aaa1.xml", "c_aaa_1"]],
           C1_aaa_2 => [["out/aaa2.xml", "c_aaa_2"]],
           C1_aaa_3 => [["out/aaa3.xml", "c_aaa_3"]],
           C1_aaa_4 => [["out/aaa4.xml", "c_aaa_4"]],
           C2_aaa_1 => [["out/aaa1.xml", "c_aaa_1"]],
           C2_aaa_2 => [["out/aaa2.xml", "c_aaa_2"]],
           C2_aaa_3 => [["out/aaa3.xml", "c_aaa_3"]],
           C2_aaa_4 => [["out/aaa4.xml", "c_aaa_4"]],
           c_aaa_1  => [["out/aaa1.xml", "c_aaa_1"]],
           c_aaa_2  => [["out/aaa2.xml", "c_aaa_2"]],
           c_aaa_3  => [["out/aaa3.xml", "c_aaa_3"]],
           c_aaa_4  => [["out/aaa4.xml", "c_aaa_4"]],
         },
  bbb => {
           B1_bbb_1 => [["out/bbb1.xml", "b_bbb_1"]],
           B1_bbb_2 => [["out/bbb2.xml", "b_bbb_2"]],
           B1_bbb_3 => [["out/bbb3.xml", "b_bbb_3"]],
           B1_bbb_4 => [["out/bbb4.xml", "b_bbb_4"]],
           B2_bbb_1 => [["out/bbb1.xml", "b_bbb_1"]],
           B2_bbb_2 => [["out/bbb2.xml", "b_bbb_2"]],
           B2_bbb_3 => [["out/bbb3.xml", "b_bbb_3"]],
           B2_bbb_4 => [["out/bbb4.xml", "b_bbb_4"]],
           b_bbb_1  => [["out/bbb1.xml", "b_bbb_1"]],
           b_bbb_2  => [["out/bbb2.xml", "b_bbb_2"]],
           b_bbb_3  => [["out/bbb3.xml", "b_bbb_3"]],
           b_bbb_4  => [["out/bbb4.xml", "b_bbb_4"]],
           C1_bbb_1 => [["out/bbb1.xml", "c_bbb_1"]],
           C1_bbb_2 => [["out/bbb2.xml", "c_bbb_2"]],
           C1_bbb_3 => [["out/bbb3.xml", "c_bbb_3"]],
           C1_bbb_4 => [["out/bbb4.xml", "c_bbb_4"]],
           C2_bbb_1 => [["out/bbb1.xml", "c_bbb_1"]],
           C2_bbb_2 => [["out/bbb2.xml", "c_bbb_2"]],
           C2_bbb_3 => [["out/bbb3.xml", "c_bbb_3"]],
           C2_bbb_4 => [["out/bbb4.xml", "c_bbb_4"]],
           c_bbb_1  => [["out/bbb1.xml", "c_bbb_1"]],
           c_bbb_2  => [["out/bbb2.xml", "c_bbb_2"]],
           c_bbb_3  => [["out/bbb3.xml", "c_bbb_3"]],
           c_bbb_4  => [["out/bbb4.xml", "c_bbb_4"]],
         },
  ccc => {
           B1_ccc_1 => [["out/ccc1.xml", "b_ccc_1"]],
           B1_ccc_2 => [["out/ccc2.xml", "b_ccc_2"]],
           B1_ccc_3 => [["out/ccc3.xml", "b_ccc_3"]],
           B1_ccc_4 => [["out/ccc4.xml", "b_ccc_4"]],
           B2_ccc_1 => [["out/ccc1.xml", "b_ccc_1"]],
           B2_ccc_2 => [["out/ccc2.xml", "b_ccc_2"]],
           B2_ccc_3 => [["out/ccc3.xml", "b_ccc_3"]],
           B2_ccc_4 => [["out/ccc4.xml", "b_ccc_4"]],
           b_ccc_1  => [["out/ccc1.xml", "b_ccc_1"]],
           b_ccc_2  => [["out/ccc2.xml", "b_ccc_2"]],
           b_ccc_3  => [["out/ccc3.xml", "b_ccc_3"]],
           b_ccc_4  => [["out/ccc4.xml", "b_ccc_4"]],
           C1_ccc_1 => [["out/ccc1.xml", "c_ccc_1"]],
           C1_ccc_2 => [["out/ccc2.xml", "c_ccc_2"]],
           C1_ccc_3 => [["out/ccc3.xml", "c_ccc_3"]],
           C1_ccc_4 => [["out/ccc4.xml", "c_ccc_4"]],
           C2_ccc_1 => [["out/ccc1.xml", "c_ccc_1"]],
           C2_ccc_2 => [["out/ccc2.xml", "c_ccc_2"]],
           C2_ccc_3 => [["out/ccc3.xml", "c_ccc_3"]],
           C2_ccc_4 => [["out/ccc4.xml", "c_ccc_4"]],
           c_ccc_1  => [["out/ccc1.xml", "c_ccc_1"]],
           c_ccc_2  => [["out/ccc2.xml", "c_ccc_2"]],
           c_ccc_3  => [["out/ccc3.xml", "c_ccc_3"]],
           c_ccc_4  => [["out/ccc4.xml", "c_ccc_4"]],
         },
  ddd => {
           B1_ddd_1 => [["out/ddd1.xml", "b_ddd_1"]],
           B1_ddd_2 => [["out/ddd2.xml", "b_ddd_2"]],
           B1_ddd_3 => [["out/ddd3.xml", "b_ddd_3"]],
           B1_ddd_4 => [["out/ddd4.xml", "b_ddd_4"]],
           B2_ddd_1 => [["out/ddd1.xml", "b_ddd_1"]],
           B2_ddd_2 => [["out/ddd2.xml", "b_ddd_2"]],
           B2_ddd_3 => [["out/ddd3.xml", "b_ddd_3"]],
           B2_ddd_4 => [["out/ddd4.xml", "b_ddd_4"]],
           b_ddd_1  => [["out/ddd1.xml", "b_ddd_1"]],
           b_ddd_2  => [["out/ddd2.xml", "b_ddd_2"]],
           b_ddd_3  => [["out/ddd3.xml", "b_ddd_3"]],
           b_ddd_4  => [["out/ddd4.xml", "b_ddd_4"]],
           C1_ddd_1 => [["out/ddd1.xml", "c_ddd_1"]],
           C1_ddd_2 => [["out/ddd2.xml", "c_ddd_2"]],
           C1_ddd_3 => [["out/ddd3.xml", "c_ddd_3"]],
           C1_ddd_4 => [["out/ddd4.xml", "c_ddd_4"]],
           C2_ddd_1 => [["out/ddd1.xml", "c_ddd_1"]],
           C2_ddd_2 => [["out/ddd2.xml", "c_ddd_2"]],
           C2_ddd_3 => [["out/ddd3.xml", "c_ddd_3"]],
           C2_ddd_4 => [["out/ddd4.xml", "c_ddd_4"]],
           c_ddd_1  => [["out/ddd1.xml", "c_ddd_1"]],
           c_ddd_2  => [["out/ddd2.xml", "c_ddd_2"]],
           c_ddd_3  => [["out/ddd3.xml", "c_ddd_3"]],
           c_ddd_4  => [["out/ddd4.xml", "c_ddd_4"]],
         },
}}
' called at C:\STRAWB~1\cpan\build\Data-Edit-Xml-Lint-20180723-0\blib\lib/Data/Edit/Xml/Lint.pm line 1256
	Data::Edit::Xml::Lint::test() called at test.pl line 10
# Looks like your test exited with 2 just after 1.
test.pl .. 
Dubious, test returned 2 (wstat 512, 0x200)
Failed 102/103 subtests 

Test Summary Report
-------------------
test.pl (Wstat: 512 Tests: 1 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 103 tests but ran 1.
Files=1, Tests=1,  2 wallclock secs ( 0.03 usr +  0.02 sys =  0.05 CPU)
Result: FAIL
Failed 1/1 test programs. 0/1 subtests failed.

------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

requires:

    Module            Need     Have    
    ----------------- -------- --------
    Carp              0        1.42    
    Data::Dump        0        1.23    
    Data::Edit::Xml   20180610 20180723
    Data::Table::Text 20180610 20180723
    Digest::SHA       0        5.96    
    Encode            0        2.90    
    Test::More        0        1.302085
    Test::SharedFork  0        0.35    

configure_requires:

    Module            Need     Have    
    ----------------- -------- --------
    Module::Build     0.4224   0.4224  


------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    AUTOMATED_TESTING = 1
    COMSPEC = C:\Windows\system32\cmd.exe
    INCLUDE = C:\Program Files\IBM\WebSphere MQ\tools\c\include;C:\Program Files\IBM\WebSphere MQ\tools\cplus\include
    LIB = C:\Program Files\IBM\WebSphere MQ\tools\lib64;C:\Program Files\IBM\WebSphere MQ\tools\lib
    NUMBER_OF_PROCESSORS = 2
    PATH = C:\ProgramData\Oracle\Java\javapath;C:\Program Files\IBM\WebSphere MQ\java\lib;C:\Program Files\IBM\WebSphere MQ\java\lib64;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\IBM\WebSphere MQ\bin64;C:\Program Files\IBM\WebSphere MQ\bin;C:\Program Files\IBM\WebSphere MQ\tools\c\samples\bin;C:\RV\BIN;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin
    PERL5LIB = C:\STRAWB~1\cpan\build\Test-SharedFork-0.35-0/blib/arch;C:\STRAWB~1\cpan\build\Test-SharedFork-0.35-0/blib/lib;C:\STRAWB~1\cpan\build\Data-Edit-Xml-20180723-0/blib/arch;C:\STRAWB~1\cpan\build\Data-Edit-Xml-20180723-0/blib/lib;C:\STRAWB~1\cpan\build\Data-Table-Text-20180723-1/blib/arch;C:\STRAWB~1\cpan\build\Data-Table-Text-20180723-1/blib/lib;C:\STRAWB~1\cpan\build\String-Numeric-0.9-1/blib/arch;C:\STRAWB~1\cpan\build\String-Numeric-0.9-1/blib/lib
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 9240
    PERL5_CPAN_IS_RUNNING = 9240
    PERL5_CPAN_IS_RUNNING_IN_RECURSION = 6008,9240
    PERL_CR_SMOKER_CURRENT = Data-Edit-Xml-Lint-20180723
    PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
    PERL_MM_USE_DEFAULT = 1
    PERL_USE_UNSAFE_INC = 1
    PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 37 Stepping 1, GenuineIntel
    TEMP = C:\Users\SOLIMA~1\AppData\Local\Temp

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = C:\Strawberry\perl\bin\perl.exe
    $UID/$EUID = 0 / 0
    $GID = 0
    $EGID = 0
    Win32::GetOSName = Win2012
    Win32::GetOSVersion = , 6, 3, 9600, 2, 0, 0, 272, 3
    Win32::FsType = NTFS
    Win32::IsAdminUser = 1

Perl module toolchain versions installed:

    Module              Have    
    ------------------- --------
    CPAN                2.18    
    CPAN::Meta          2.150010
    Cwd                 3.67    
    ExtUtils::CBuilder  0.280225
    ExtUtils::Command   7.28    
    ExtUtils::Install   2.14    
    ExtUtils::MakeMaker 7.28    
    ExtUtils::Manifest  1.70    
    ExtUtils::ParseXS   3.34    
    File::Spec          3.67    
    JSON                2.94    
    JSON::PP            2.94    
    Module::Build       0.4224  
    Module::Signature   n/a     
    Parse::CPAN::Meta   2.150010
    Test::Harness       3.39    
    Test::More          1.302085
    YAML                1.23    
    YAML::Syck          n/a     
    version             0.9918  


--

Summary of my perl5 (revision 5 version 26 subversion 0) configuration:
   
  Platform:
    osname=MSWin32
    osvers=6.3
    archname=MSWin32-x64-multi-thread
    uname='Win32 strawberry-perl 5.26.0.1 #1 Wed May 31 04:42:31 2017 x64'
    config_args='undef'
    hint=recommended
    useposix=true
    d_sigaction=undef
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=undef
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='gcc'
    ccflags =' -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields'
    optimize='-s -O2'
    cppflags='-DWIN32'
    ccversion=''
    gccversion='7.1.0'
    gccosandvers=''
    intsize=4
    longsize=4
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='long long'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='g++'
    ldflags ='-s -L"C:\STRAWB~1\perl\lib\CORE" -L"C:\STRAWB~1\c\lib"'
    libpth=C:\STRAWB~1\c\lib C:\STRAWB~1\c\x86_64-w64-mingw32\lib C:\STRAWB~1\c\lib\gcc\x86_64-w64-mingw32\7.1.0
    libs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
    perllibs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
    libc=
    so=dll
    useshrplib=true
    libperl=libperl526.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs
    dlext=xs.dll
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags=' '
    lddlflags='-mdll -s -L"C:\STRAWB~1\perl\lib\CORE" -L"C:\STRAWB~1\c\lib"'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    HAVE_INTERP_INTERN
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_IMPLICIT_CONTEXT
    PERL_IMPLICIT_SYS
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
  Built under MSWin32
  Compiled at May 31 2017 04:57:43
  %ENV:
    PERL5LIB="C:\STRAWB~1\cpan\build\Test-SharedFork-0.35-0/blib/arch;C:\STRAWB~1\cpan\build\Test-SharedFork-0.35-0/blib/lib;C:\STRAWB~1\cpan\build\Data-Edit-Xml-20180723-0/blib/arch;C:\STRAWB~1\cpan\build\Data-Edit-Xml-20180723-0/blib/lib;C:\STRAWB~1\cpan\build\Data-Table-Text-20180723-1/blib/arch;C:\STRAWB~1\cpan\build\Data-Table-Text-20180723-1/blib/lib;C:\STRAWB~1\cpan\build\String-Numeric-0.9-1/blib/arch;C:\STRAWB~1\cpan\build\String-Numeric-0.9-1/blib/lib"
    PERL5_CPANPLUS_IS_RUNNING="9240"
    PERL5_CPAN_IS_RUNNING="9240"
    PERL5_CPAN_IS_RUNNING_IN_RECURSION="6008,9240"
    PERL_CR_SMOKER_CURRENT="Data-Edit-Xml-Lint-20180723"
    PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
    PERL_MM_USE_DEFAULT="1"
    PERL_USE_UNSAFE_INC="1"
  @INC:
    C:\STRAWB~1\cpan\build\Test-SharedFork-0.35-0/blib/arch
    C:\STRAWB~1\cpan\build\Test-SharedFork-0.35-0/blib/lib
    C:\STRAWB~1\cpan\build\Data-Edit-Xml-20180723-0/blib/arch
    C:\STRAWB~1\cpan\build\Data-Edit-Xml-20180723-0/blib/lib
    C:\STRAWB~1\cpan\build\Data-Table-Text-20180723-1/blib/arch
    C:\STRAWB~1\cpan\build\Data-Table-Text-20180723-1/blib/lib
    C:\STRAWB~1\cpan\build\String-Numeric-0.9-1/blib/arch
    C:\STRAWB~1\cpan\build\String-Numeric-0.9-1/blib/lib
    C:/Strawberry/perl/site/lib/MSWin32-x64-multi-thread
    C:/Strawberry/perl/site/lib
    C:/Strawberry/perl/vendor/lib
    C:/Strawberry/perl/lib
    .