summaryrefslogtreecommitdiff
path: root/source4/pidl/tests/util.pl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-02-07 19:03:19 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:44:48 -0500
commitecf2c1effb778a95fd863a5e87ec7e378d228b57 (patch)
tree8b94782e07399490d6390e066c557af8c04aefc1 /source4/pidl/tests/util.pl
parent2811e18da0d8dae2e2560c11a28450ae8b2a98d5 (diff)
downloadsamba-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-xsource4/pidl/tests/util.pl23
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));