diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-02-07 19:03:19 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:44:48 -0500 |
commit | ecf2c1effb778a95fd863a5e87ec7e378d228b57 (patch) | |
tree | 8b94782e07399490d6390e066c557af8c04aefc1 /source4/pidl/tests/util.pl | |
parent | 2811e18da0d8dae2e2560c11a28450ae8b2a98d5 (diff) | |
download | samba-ecf2c1effb778a95fd863a5e87ec7e378d228b57.tar.gz samba-ecf2c1effb778a95fd863a5e87ec7e378d228b57.tar.bz2 samba-ecf2c1effb778a95fd863a5e87ec7e378d228b57.zip |
r21222: Merge a couple of pidl fixes:
* Pidl will now warn when trying to use pointers as integers in expressions.
* "subcontext()" is now marked as deprecated. The alternatives,
transmit_as() / represent_as() should be available soon.
* More tests.
* Remove some unused code in smbtorture.
(This used to be commit 37c0da541e3962164d5af3e3c9560803a733f3b7)
Diffstat (limited to 'source4/pidl/tests/util.pl')
-rwxr-xr-x | source4/pidl/tests/util.pl | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/source4/pidl/tests/util.pl b/source4/pidl/tests/util.pl index 19cb90c080..ba2f7b7b49 100755 --- a/source4/pidl/tests/util.pl +++ b/source4/pidl/tests/util.pl @@ -4,10 +4,11 @@ use strict; use warnings; -use Test::More tests => 56; +use Test::More tests => 70; use FindBin qw($RealBin); use lib "$RealBin"; use Util; +use Parse::Pidl qw(error); use Parse::Pidl::Util; # has_property() @@ -89,3 +90,23 @@ is("b.a.a", ParseExpr("a.a.a", {"a" => "b"}, undef)); test_errors("nofile:0: Parse error in `~' near `~'\n", sub { is(undef, ParseExpr("~", {}, {FILE => "nofile", LINE => 0})); }); + +test_errors("nofile:0: Got pointer, expected integer\n", sub { + is(undef, ParseExprExt("foo", {}, {FILE => "nofile", LINE => 0}, + undef, sub { my $x = shift; + error({FILE => "nofile", LINE => 0}, + "Got pointer, expected integer"); + return undef; }))}); + +is("b.a.a", ParseExpr("b.a.a", {"a" => "b"}, undef)); +is("((rr_type) == NBT_QTYPE_NETBIOS)", ParseExpr("((rr_type)==NBT_QTYPE_NETBIOS)", {}, undef)); +is("talloc_check_name", ParseExpr("talloc_check_name", {}, undef)); +is("talloc_check_name()", ParseExpr("talloc_check_name()", {}, undef)); +is("talloc_check_name(ndr)", ParseExpr("talloc_check_name(ndr)", {}, undef)); +is("talloc_check_name(ndr, 1)", ParseExpr("talloc_check_name(ndr,1)", {}, undef)); +is("talloc_check_name(ndr, \"struct ndr_push\")", ParseExpr("talloc_check_name(ndr,\"struct ndr_push\")", {}, undef)); +is("((rr_type) == NBT_QTYPE_NETBIOS) && talloc_check_name(ndr, \"struct ndr_push\")", ParseExpr("((rr_type)==NBT_QTYPE_NETBIOS)&&talloc_check_name(ndr,\"struct ndr_push\")", {}, undef)); +is("(rdata).data.length", ParseExpr("(rdata).data.length", {}, undef)); +is("((rdata).data.length == 2)", ParseExpr("((rdata).data.length==2)", {}, undef)); +is("((rdata).data.length == 2)?0:rr_type", ParseExpr("((rdata).data.length==2)?0:rr_type", {}, undef)); +is("((((rr_type) == NBT_QTYPE_NETBIOS) && talloc_check_name(ndr, \"struct ndr_push\") && ((rdata).data.length == 2))?0:rr_type)", ParseExpr("((((rr_type)==NBT_QTYPE_NETBIOS)&&talloc_check_name(ndr,\"struct ndr_push\")&&((rdata).data.length==2))?0:rr_type)", {}, undef)); |