svn commit: samba r12480 - in branches/SAMBA_4_0/source/pidl/tests:
.
jelmer at samba.org
jelmer at samba.org
Sun Dec 25 14:12:00 GMT 2005
Author: jelmer
Date: 2005-12-25 14:11:59 +0000 (Sun, 25 Dec 2005)
New Revision: 12480
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12480
Log:
Extend testsuite
Modified:
branches/SAMBA_4_0/source/pidl/tests/parse_idl.pl
Changeset:
Modified: branches/SAMBA_4_0/source/pidl/tests/parse_idl.pl
===================================================================
--- branches/SAMBA_4_0/source/pidl/tests/parse_idl.pl 2005-12-25 13:32:52 UTC (rev 12479)
+++ branches/SAMBA_4_0/source/pidl/tests/parse_idl.pl 2005-12-25 14:11:59 UTC (rev 12480)
@@ -4,7 +4,7 @@
# Published under the GNU General Public License
use strict;
-use Test::More tests => 26;
+use Test::More tests => 46;
use FindBin qw($RealBin);
use lib "$RealBin/../lib";
use Parse::Pidl::IDL;
@@ -44,14 +44,37 @@
testfail "empty2", "";
testok "attr1", "[uuid(\"myuuid\"),attr] interface test { int Test(int ***a); };";
testok "attr2", "interface test { [public] int Test(); };";
+testok "attr3", "[attr1] [attr2] interface test { [public] int Test(); };";
testok "multfn", "interface test { int test1(); int test2(); };";
testok "multif", "interface test { int test1(); }; interface test2 { int test2(); };";
testok "tdstruct1", "interface test { typedef struct { } foo; };";
testok "tdstruct2", "interface test { typedef struct { int a; } foo; };";
testok "tdstruct3", "interface test { typedef struct { int a; int b; } foo; };";
testfail "tdstruct4", "interface test { typedef struct { int a, int b; } foo; };";
+testok "struct1", "interface test { struct x { }; };";
+testok "struct2", "interface test { struct x { int a; }; };";
+testok "struct3", "interface test { struct x { int a; int b; }; };";
+testfail "struct4", "interface test { struct x { int a, int b; }; };";
+testfail "struct5", "interface test { struct { int a; } x; };";
testok "tdunion1", "interface test { typedef union { } a; };";
testok "tdunion2", "interface test { typedef union { int a; } a; };";
+testok "union1", "interface test { union a { }; };";
+testok "union2", "interface test { union x { int a; }; };";
+testfail "union3", "interface test { union { int a; } x; };";
testok "typedef1", "interface test { typedef int a; };";
testfail "typedef2", "interface test { typedef x; };";
testok "tdenum1", "interface test { typedef enum { A=1, B=2, C} a; };";
+testok "enum1", "interface test { enum a { A=1, B=2, C}; };";
+testfail "enum2", "interface test { enum { A=1, B=2, C} a; };";
+testok "nested1", "interface test { struct x { struct { int a; } z; }; };";
+testok "nested2", "interface test { struct x { struct y { int a; } z; }; };";
+testok "bitmap1", "interface test { bitmap x { a=1 }; };";
+TODO: {
+ local $TODO = "qualifiers on defined types not supported yet";
+ testok "unsigned", "interface test { struct x { unsigned short y; }; };";
+ testok "signed", "interface test { struct x { signed short y; }; };";
+ testok "structqual", "interface test { struct x { struct y z; }; };";
+ testok "unionqual", "interface test { struct x { union y z; }; };";
+ testok "enumqual", "interface test { struct x { enum y z; }; };";
+ testok "bitmapqual", "interface test { struct x { bitmap y z; }; };"
+};
More information about the samba-cvs
mailing list