/[suikacvs]/messaging/manakai/bin/daf.pl
Suika

Diff of /messaging/manakai/bin/daf.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by wakaba, Sun Feb 26 14:32:38 2006 UTC revision 1.7 by wakaba, Fri Mar 17 08:06:20 2006 UTC
# Line 116  BEGIN { $start_time = time } Line 116  BEGIN { $start_time = time }
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
# Line 210  get_referring_module_uri_list => sub { Line 213  get_referring_module_uri_list => sub {
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  },  },
# Line 338  $db->free; Line 340  $db->free;
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;
# Line 581  sub daf_check_undefined () { Line 586  sub daf_check_undefined () {
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");
# Line 593  sub daf_generate_perl_test_file ($) { Line 599  sub daf_generate_perl_test_file ($) {
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 ({
# Line 612  sub daf_generate_perl_test_file ($) { Line 635  sub daf_generate_perl_test_file ($) {
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                    
# Line 636  sub daf_generate_perl_test_file ($) { Line 665  sub daf_generate_perl_test_file ($) {
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;
# Line 662  sub daf_generate_perl_test_file ($) { Line 693  sub daf_generate_perl_test_file ($) {
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) {

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24