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