116 |
|
|
117 |
use Message::Util::DIS::DNLite; |
use Message::Util::DIS::DNLite; |
118 |
use Message::Util::PerlCode; |
use Message::Util::PerlCode; |
119 |
use Message::Util::DIS::Test; |
|
120 |
use Message::DOM::GenericLS; |
my %feature; |
121 |
|
eval q{ |
122 |
|
use Message::Util::DIS::Test; |
123 |
|
use Message::DOM::GenericLS; |
124 |
|
$feature{ExpandedURI q<fe:GenericLS>} = '3.0'; |
125 |
|
$feature{'+' . ExpandedURI q<DIS:TDT>} = '1.0'; |
126 |
|
}; |
127 |
|
|
128 |
my $limpl = $Message::DOM::ImplementationRegistry->get_implementation |
my $limpl = $Message::DOM::ImplementationRegistry->get_implementation |
129 |
({ExpandedURI q<fe:Min> => '3.0', |
({ExpandedURI q<fe:Min> => '3.0', |
|
ExpandedURI q<fe:GenericLS> => '3.0', |
|
130 |
'+' . ExpandedURI q<DIS:DNLite> => '1.0', |
'+' . ExpandedURI q<DIS:DNLite> => '1.0', |
131 |
'+' . ExpandedURI q<DIS:Core> => '1.0', |
'+' . ExpandedURI q<DIS:Core> => '1.0', |
132 |
'+' . ExpandedURI q<Util:PerlCode> => '1.0', |
'+' . ExpandedURI q<Util:PerlCode> => '1.0', |
133 |
'+' . ExpandedURI q<DIS:TDT> => '1.0', |
%feature, |
134 |
}); |
}); |
135 |
my $impl = $limpl->get_feature (ExpandedURI q<DIS:Core> => '1.0'); |
my $impl = $limpl->get_feature (ExpandedURI q<DIS:Core> => '1.0'); |
|
my $pc = $impl->get_feature (ExpandedURI q<Util:PerlCode> => '1.0'); |
|
|
my $di = $impl->get_feature (ExpandedURI q<DIS:Core> => '1.0'); |
|
136 |
my $tdt_parser; |
my $tdt_parser; |
137 |
|
|
138 |
## --- Loading and Updating the Database |
## --- Loading and Updating the Database |
213 |
unless (defined $ModuleSourceDISDocument{$module_uri}) { |
unless (defined $ModuleSourceDISDocument{$module_uri}) { |
214 |
daf_open_source_dis_document ($module_uri); |
daf_open_source_dis_document ($module_uri); |
215 |
} |
} |
|
daf_convert_dis_document_to_dnl_document (); |
|
216 |
} |
} |
217 |
return daf_get_referring_module_uri_list ($module_uri); |
return daf_get_referring_module_uri_list ($module_uri); |
218 |
}, |
}, |
340 |
undef $db; |
undef $db; |
341 |
status_msg "done"; |
status_msg "done"; |
342 |
|
|
343 |
|
undef $limpl; |
344 |
|
undef $impl; |
345 |
|
|
346 |
{ |
{ |
347 |
use integer; |
use integer; |
348 |
my $time = time - $start_time; |
my $time = time - $start_time; |
586 |
|
|
587 |
sub daf_generate_perl_test_file ($) { |
sub daf_generate_perl_test_file ($) { |
588 |
my $mod = shift; |
my $mod = shift; |
589 |
|
my $pc = $impl->get_feature (ExpandedURI q<Util:PerlCode> => '1.0'); |
590 |
my $pl = $pc->create_perl_file; |
my $pl = $pc->create_perl_file; |
591 |
my $pack = $pl->get_last_package ("Manakai::Test", make_new_package => 1); |
my $pack = $pl->get_last_package ("Manakai::Test", make_new_package => 1); |
592 |
$pack->add_use_perl_module_name ("Message::Util::DIS::Test"); |
$pack->add_use_perl_module_name ("Message::Util::DIS::Test"); |
599 |
$pl->license_uri ($mod->get_property_resource (ExpandedURI q<dis:License>) |
$pl->license_uri ($mod->get_property_resource (ExpandedURI q<dis:License>) |
600 |
->uri); |
->uri); |
601 |
|
|
602 |
|
$pack->append_code (' |
603 |
|
use Getopt::Long; |
604 |
|
my %Skip; |
605 |
|
GetOptions ( |
606 |
|
"Skip=s" => sub { |
607 |
|
shift; |
608 |
|
for (split /\s+/, shift) { |
609 |
|
if (/^(\d+)-(\d+)$/) { |
610 |
|
$Skip{$_} = 1 for $1..$2; |
611 |
|
} else { |
612 |
|
$Skip{$_} = 1; |
613 |
|
} |
614 |
|
} |
615 |
|
}, |
616 |
|
); |
617 |
|
'); |
618 |
|
|
619 |
$pack->append_code |
$pack->append_code |
620 |
($pc->create_perl_statement |
($pc->create_perl_statement |
621 |
('my $impl = $Message::DOM::ImplementationRegistry->get_implementation ({ |
('my $impl = $Message::DOM::ImplementationRegistry->get_implementation ({ |
635 |
|
|
636 |
if ($res->is_type_uri (ExpandedURI q<test:Test>)) { |
if ($res->is_type_uri (ExpandedURI q<test:Test>)) { |
637 |
if ($res->is_type_uri (ExpandedURI q<test:StandaloneTest>)) { |
if ($res->is_type_uri (ExpandedURI q<test:StandaloneTest>)) { |
638 |
$total_tests++; |
my $test_num = ++$total_tests; |
639 |
|
my $test_uri = $res->name_uri || $res->uri; |
640 |
|
|
641 |
$pack->append_code ('$test->start_new_test ('); |
$pack->append_code ('$test->start_new_test ('); |
642 |
$pack->append_new_pc_literal ($res->name_uri || $res->uri); |
$pack->append_new_pc_literal ($test_uri); |
643 |
$pack->append_code (');'); |
$pack->append_code (');'); |
644 |
|
|
645 |
|
$pack->append_code ('if (not $Skip{'.$test_num.'} and not $Skip{'); |
646 |
|
$pack->append_new_pc_literal ($test_uri); |
647 |
|
$pack->append_code ('}) {'); |
648 |
|
|
649 |
$pack->append_code ('try {'); |
$pack->append_code ('try {'); |
650 |
|
|
665 |
$test->not_ok; |
$test->not_ok; |
666 |
};'); |
};'); |
667 |
|
|
668 |
|
$pack->append_code ('} else { warn "'.$test_num.' skipped\n" }'); |
669 |
|
|
670 |
} elsif ($res->is_type_uri (ExpandedURI q<test:ParserTestSet>)) { |
} elsif ($res->is_type_uri (ExpandedURI q<test:ParserTestSet>)) { |
671 |
my $block = $pack->append_new_pc_block; |
my $block = $pack->append_new_pc_block; |
672 |
my @test; |
my @test; |
693 |
not defined $ttest->{root_uri}; |
not defined $ttest->{root_uri}; |
694 |
} |
} |
695 |
|
|
696 |
|
## DOM configuration parameters |
697 |
|
for my $v (@{$tres->get_property_value_list |
698 |
|
(ExpandedURI q<c:anyDOMConfigurationParameter>)}) { |
699 |
|
my $cpuri = $v->name; |
700 |
|
my $cp = $db->get_resource ($cpuri, for_arg => $tres->for_uri); |
701 |
|
$ttest->{dom_config}->{$cp->get_dom_configuration_parameter_name} |
702 |
|
= $v->get_perl_code ($block->owner_document, $tres); |
703 |
|
} |
704 |
|
|
705 |
## Result DOM tree |
## Result DOM tree |
706 |
my $tree_t = $tres->get_property_text (ExpandedURI q<test:domTree>); |
my $tree_t = $tres->get_property_text (ExpandedURI q<test:domTree>); |
707 |
if (defined $tree_t) { |
if (defined $tree_t) { |