#! /usr/bin/env perl use strict; use warnings; use Test::More; use Tapper::TAP::Harness; use File::Slurp 'slurp'; use Data::Dumper; use TAP::DOM; my $tap = slurp ("t/tap-archive-1.tgz"); # ============================================================ my $harness = Tapper::TAP::Harness->new( tap => $tap, tap_is_archive => 1 ); $harness->evaluate_report(); #diag(Dumper($harness->parsed_report->{tap_sections})); is(scalar @{$harness->parsed_report->{tap_sections}}, 4, "count sections"); my $first_section = $harness->parsed_report->{tap_sections}->[0]; # ============================================================ #diag Dumper(); my $dom = TAP::DOM->new( tap => "TAP Version 13\n".$harness->parsed_report->{tap_sections}->[3]->{raw} ); #diag(Dumper($dom)); is($dom->{tests_run}, 3, "section 3 tests run"); ok($dom->{is_good_plan}, "section 3 good plan"); # ============================================================ is($harness->parsed_report->{report_meta}{'suite-name'}, 'Tapper-Test', "report meta suite name"); is($harness->parsed_report->{report_meta}{'suite-version'}, '2.010012', "report meta suite version"); is($harness->parsed_report->{report_meta}{'suite-type'}, 'software', "report meta suite type"); is($harness->parsed_report->{report_meta}{'machine-name'}, 'ss5-netbook', "report meta machine name"); is($harness->parsed_report->{report_meta}{'starttime-test-program'}, 'Thu, 28 Oct 2010 16:13:27 +0200', "report meta starttime test program"); is($first_section->{section_name},'t/00-tapper-meta.t', "first section name"); is($first_section->{section_meta}{'suite-name'}, 'Tapper-Test', "report meta suite name"); is($first_section->{section_meta}{'suite-version'}, '2.010012', "report meta suite version"); is($first_section->{section_meta}{'suite-type'}, 'software', "report meta suite type"); is($first_section->{section_meta}{'language-description'}, 'Perl 5.012001, /home/ss5/perl5/perlbrew/perls/perl-5.12.1/bin/perl', "report meta language description"); is($first_section->{section_meta}{'uname'}, 'Linux ss5-netbook 2.6.31-21-generic #59-Ubuntu SMP Wed Mar 24 07:28:56 UTC 2010 i686 GNU/Linux', "report meta uname"); is($first_section->{section_meta}{'osname'}, 'Ubuntu 10.10', "report meta osname"); is($first_section->{section_meta}{'cpuinfo'}, '2 cores [Intel(R) Atom(TM) CPU N270 @ 1.60GHz]', "report meta cpuinfo"); is($first_section->{section_meta}{'ram'}, '993MB', "report meta ram"); is($first_section->{db_section_meta}{'language_description'}, 'Perl 5.012001, /home/ss5/perl5/perlbrew/perls/perl-5.12.1/bin/perl', "db meta language description"); is($first_section->{db_section_meta}{'uname'}, 'Linux ss5-netbook 2.6.31-21-generic #59-Ubuntu SMP Wed Mar 24 07:28:56 UTC 2010 i686 GNU/Linux', "db meta uname"); is($first_section->{db_section_meta}{'osname'}, 'Ubuntu 10.10', "db meta osname"); is($first_section->{db_section_meta}{'cpuinfo'}, '2 cores [Intel(R) Atom(TM) CPU N270 @ 1.60GHz]', "db meta cpuinfo"); is($first_section->{db_section_meta}{'ram'}, '993MB', "db meta ram"); my $html = $harness->generate_html; is(scalar @{$harness->parsed_report->{tap_sections}}, 4, "count sections"); # check to trigger preparation errors # ============================================================ $tap = slurp ("t/tap-archive-2.tgz"); # ============================================================ $harness = Tapper::TAP::Harness->new( tap => $tap, tap_is_archive => 1 ); $harness->evaluate_report(); #diag(Dumper($harness->parsed_report->{tap_sections})); is(scalar @{$harness->parsed_report->{tap_sections}}, 4, "autotest / count sections"); $first_section = $harness->parsed_report->{tap_sections}->[0]; # ============================================================ #diag Dumper(); $dom = TAP::DOM->new( tap => "TAP Version 13\n".$harness->parsed_report->{tap_sections}->[1]->{raw} ); # diag(Dumper($dom)); is($dom->{tests_run}, 2, "autotest / section 1 tests run"); ok($dom->{is_good_plan}, "autotest / section 1 good plan"); is($dom->{lines}[3]{_children}[0]{data}{"sysinfo-memtotal-in-kb"}, "3951176", "autotest / section 1 TAPv13 yaml data"); # ============================================================ done_testing;