X-Git-Url: http://git.rot13.org/?p=perl-cwmp.git;a=blobdiff_plain;f=bin%2Fdump2test.pl;h=e1c749835e6a3c7c0298967298e82972b5f36685;hp=40edb4d89fa33203846da5d54dbc27b3d86a9d6f;hb=68d767eafbbf968a504e212120029d71e7be986a;hpb=46aa4e29fb2081dcf55f6d9df4134c72b13cd6ee diff --git a/bin/dump2test.pl b/bin/dump2test.pl index 40edb4d..e1c7498 100755 --- a/bin/dump2test.pl +++ b/bin/dump2test.pl @@ -11,6 +11,7 @@ use Data::Dump qw/dump/; use File::Slurp; use blib; use CWMP::Request; +use YAML::Syck; my $path = shift @ARGV || die "usage: $0 dump/client_ip/\n"; @@ -37,14 +38,19 @@ warn "## requests = ",dump( $requests ); my $test_path = 't/dump/'; +sub xml2state { + my $xml = shift; + $xml =~ s/^.*?parse( $xml ); +} + if ( my $i = $requests->{Inform} ) { my $xml = read_file($i); - $xml =~ s/^.*?parse( $xml ); + my $state = xml2state( $xml ); # warn "## state = ",dump( $state ); @@ -67,6 +73,8 @@ foreach my $name ( keys %$requests ) { my $to = "$test_path/$name"; warn "## $from -> $to\n"; next if -e $to; - write_file( $to, read_file( $from ) ); + my $xml = read_file( $from ); + write_file( $to, $xml ); + DumpFile( "$to.yml", xml2state( $xml ) ); warn "created $to\n"; }