Update from samba tree revision 21535 to 21565
============================ Samba log start ============ ------------------------------------------------------------------------ r21545 | jelmer | 2007-02-26 18:43:01 +0100 (Mon, 26 Feb 2007) | 1 line Changed paths: M /branches/SAMBA_4_0 M /branches/SAMBA_4_0/source/pidl/tests/wireshark-ndr.pl Fix pidl test. ------------------------------------------------------------------------ r21555 | jelmer | 2007-02-27 13:46:19 +0100 (Tue, 27 Feb 2007) | 1 line Changed paths: M /branches/SAMBA_4_0 M /branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm M /branches/SAMBA_4_0/source/pidl/tests/wireshark-conf.pl Some tests for TYPE in wireshark conformance files. ------------------------------------------------------------------------ r21559 | jelmer | 2007-02-27 14:41:56 +0100 (Tue, 27 Feb 2007) | 1 line Changed paths: M /branches/SAMBA_4_0 M /branches/SAMBA_4_0/source/pidl/tests/wireshark-conf.pl More tests. ------------------------------------------------------------------------ ------------------------------------------------------------------------ ============================ Samba log end ============== svn path=/trunk/; revision=20945
This commit is contained in:
parent
bef1c99feb
commit
a933299791
|
@ -96,7 +96,7 @@ use vars qw($VERSION);
|
|||
$VERSION = '0.01';
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT_OK = qw(ReadConformance ReadConformanceFH);
|
||||
@EXPORT_OK = qw(ReadConformance ReadConformanceFH valid_ft_type valid_base_type);
|
||||
|
||||
use strict;
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More tests => 20;
|
||||
use Test::More tests => 45;
|
||||
use FindBin qw($RealBin);
|
||||
use lib "$RealBin";
|
||||
use Util;
|
||||
use Parse::Pidl::Util qw(MyDumper);
|
||||
use Parse::Pidl::Wireshark::Conformance qw(ReadConformanceFH);
|
||||
use Parse::Pidl::Wireshark::Conformance qw(ReadConformanceFH valid_ft_type valid_base_type);
|
||||
|
||||
sub parse_conf($)
|
||||
{
|
||||
|
@ -60,3 +60,106 @@ is_deeply(parse_conf("CODE START\ndata\nCODE END\n"), { override => "data\n" });
|
|||
is_deeply(parse_conf("CODE START\ndata\nmore data\nCODE END\n"), { override => "data\nmore data\n" });
|
||||
test_warnings("nofile:1: Unknown command `CODE'\n",
|
||||
sub { parse_conf("CODE END\n"); } );
|
||||
|
||||
is_deeply(parse_conf("TYPE winreg_String dissect_myminregstring FT_STRING BASE_DEC 0 0 2\n"), { types => { winreg_String => {
|
||||
NAME => "winreg_String",
|
||||
POS => { FILE => "nofile", LINE => 1 },
|
||||
USED => 0,
|
||||
DISSECTOR_NAME => "dissect_myminregstring",
|
||||
FT_TYPE => "FT_STRING",
|
||||
BASE_TYPE => "BASE_DEC",
|
||||
MASK => 0,
|
||||
VALSSTRING => 0,
|
||||
ALIGNMENT => 2}}});
|
||||
|
||||
ok(valid_ft_type("FT_UINT32"));
|
||||
ok(not valid_ft_type("BLA"));
|
||||
ok(not valid_ft_type("ft_uint32"));
|
||||
ok(valid_ft_type("FT_BLA"));
|
||||
|
||||
ok(valid_base_type("BASE_DEC"));
|
||||
ok(valid_base_type("BASE_HEX"));
|
||||
ok(not valid_base_type("base_dec"));
|
||||
ok(not valid_base_type("BLA"));
|
||||
ok(not valid_base_type("BASEDEC"));
|
||||
|
||||
test_errors("nofile:1: incomplete TYPE command\n",
|
||||
sub { parse_conf("TYPE mytype dissector\n"); });
|
||||
|
||||
test_warnings("nofile:1: dissector name does not contain `dissect'\n",
|
||||
sub { parse_conf("TYPE winreg_String myminregstring FT_STRING BASE_DEC 0 0 2\n"); });
|
||||
|
||||
test_warnings("nofile:1: invalid FT_TYPE `BLA'\n",
|
||||
sub { parse_conf("TYPE winreg_String dissect_myminregstring BLA BASE_DEC 0 0 2\n"); });
|
||||
|
||||
test_warnings("nofile:1: invalid BASE_TYPE `BLOE'\n",
|
||||
sub { parse_conf("TYPE winreg_String dissect_myminregstring FT_UINT32 BLOE 0 0 2\n"); });
|
||||
|
||||
is_deeply(parse_conf("TFS hf_bla \"True string\" \"False String\"\n"),
|
||||
{ tfs => { hf_bla => {
|
||||
TRUE_STRING => "\"True string\"",
|
||||
FALSE_STRING => "\"False String\"" } } });
|
||||
|
||||
test_errors("nofile:1: incomplete TFS command\n",
|
||||
sub { parse_conf("TFS hf_bla \"Trues\""); } );
|
||||
|
||||
test_errors("nofile:1: incomplete PARAM_VALUE command\n",
|
||||
sub { parse_conf("PARAM_VALUE\n"); });
|
||||
|
||||
is_deeply(parse_conf("PARAM_VALUE Life 42\n"),
|
||||
{ dissectorparams => {
|
||||
Life => {
|
||||
DISSECTOR => "Life",
|
||||
POS => { FILE => "nofile", LINE => 1 },
|
||||
PARAM => 42,
|
||||
USED => 0
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
is_deeply(parse_conf("STRIP_PREFIX bla_\n"),
|
||||
{ strip_prefixes => [ "bla_" ] });
|
||||
|
||||
is_deeply(parse_conf("STRIP_PREFIX bla_\nSTRIP_PREFIX bloe\n"),
|
||||
{ strip_prefixes => [ "bla_", "bloe" ] });
|
||||
|
||||
is_deeply(parse_conf("PROTOCOL atsvc \"Scheduling jobs on remote machines\" \"at\" \"atsvc\"\n"),
|
||||
{ protocols => {
|
||||
atsvc => {
|
||||
LONGNAME => "\"Scheduling jobs on remote machines\"",
|
||||
SHORTNAME => "\"at\"",
|
||||
FILTERNAME => "\"atsvc\""
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
is_deeply(parse_conf("IMPORT bla\n"), {
|
||||
imports => {
|
||||
bla => {
|
||||
NAME => "bla",
|
||||
DATA => "",
|
||||
USED => 0,
|
||||
POS => { FILE => "nofile", LINE => 1 }
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
is_deeply(parse_conf("IMPORT bla fn1 fn2 fn3\n"), {
|
||||
imports => {
|
||||
bla => {
|
||||
NAME => "bla",
|
||||
DATA => "fn1 fn2 fn3",
|
||||
USED => 0,
|
||||
POS => { FILE => "nofile", LINE => 1 }
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
test_errors("nofile:1: no dissectorname specified\n",
|
||||
sub { parse_conf("IMPORT\n"); } );
|
||||
|
||||
test_errors("nofile:1: incomplete HF_FIELD command\n",
|
||||
sub { parse_conf("HF_FIELD hf_idx\n"); });
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More tests => 11;
|
||||
use Test::More tests => 13;
|
||||
use FindBin qw($RealBin);
|
||||
use lib "$RealBin";
|
||||
use Util;
|
||||
|
@ -65,8 +65,8 @@ is_deeply($conformance, {
|
|||
|
||||
%hf_used = ( hf_bla => 1 );
|
||||
test_warnings("", sub {
|
||||
CheckUsed({ header_fields => { INDEX => "hf_bla" }})});
|
||||
CheckUsed({ header_fields => { foo => { INDEX => "hf_bla" }}})});
|
||||
|
||||
%hf_used = ( );
|
||||
test_warnings("nofile:0: hf field `hf_bla' not used\n", sub {
|
||||
CheckUsed({ header_fields => { INDEX => "hf_bla" }})});
|
||||
test_warnings("hf field `hf_bla' not used\n", sub {
|
||||
CheckUsed({ header_fields => { foo => { INDEX => "hf_bla" }}})});
|
||||
|
|
Loading…
Reference in New Issue