summaryrefslogtreecommitdiff
path: root/source4/build/pidl/tests
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-05-28 23:38:52 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:17:10 -0500
commit1deb402445c07dae69c4637a1a4b191f10b0bee1 (patch)
treea00a004c5215201499cdc22eba01b66961e7f680 /source4/build/pidl/tests
parent26ced62131962d92d45b8a383d3ecf4c9af56d02 (diff)
downloadsamba-1deb402445c07dae69c4637a1a4b191f10b0bee1.tar.gz
samba-1deb402445c07dae69c4637a1a4b191f10b0bee1.tar.bz2
samba-1deb402445c07dae69c4637a1a4b191f10b0bee1.zip
r7059: Use namespaces for pidl and the build system, so we can later on
call out to the build system to compile the various pidl tests (without having to rely on shared library support). Initial work on an ndr_array test. (This used to be commit 2b08c4b92b4f56180c123a502bdcc6c40188c07f)
Diffstat (limited to 'source4/build/pidl/tests')
-rwxr-xr-xsource4/build/pidl/tests/ndr_align.pl2
-rwxr-xr-xsource4/build/pidl/tests/ndr_alloc.pl2
-rwxr-xr-xsource4/build/pidl/tests/ndr_array.pl47
-rwxr-xr-xsource4/build/pidl/tests/ndr_refptr.pl2
-rwxr-xr-xsource4/build/pidl/tests/ndr_simple.pl2
-rwxr-xr-xsource4/build/pidl/tests/ndr_string.pl2
6 files changed, 52 insertions, 5 deletions
diff --git a/source4/build/pidl/tests/ndr_align.pl b/source4/build/pidl/tests/ndr_align.pl
index 03b09e8758..1796c045f5 100755
--- a/source4/build/pidl/tests/ndr_align.pl
+++ b/source4/build/pidl/tests/ndr_align.pl
@@ -4,7 +4,7 @@
use strict;
use FindBin qw($RealBin);
-use lib "$RealBin/..";
+use lib "$RealBin/../..";
use test;
my %settings = Test::GetSettings(@ARGV);
diff --git a/source4/build/pidl/tests/ndr_alloc.pl b/source4/build/pidl/tests/ndr_alloc.pl
index 7918f312d4..d382759930 100755
--- a/source4/build/pidl/tests/ndr_alloc.pl
+++ b/source4/build/pidl/tests/ndr_alloc.pl
@@ -4,7 +4,7 @@
use strict;
use FindBin qw($RealBin);
-use lib "$RealBin/..";
+use lib "$RealBin/../..";
use test;
my %settings = Test::GetSettings(@ARGV);
diff --git a/source4/build/pidl/tests/ndr_array.pl b/source4/build/pidl/tests/ndr_array.pl
new file mode 100755
index 0000000000..bd78f3432a
--- /dev/null
+++ b/source4/build/pidl/tests/ndr_array.pl
@@ -0,0 +1,47 @@
+#!/usr/bin/perl
+# Array testing
+# (C) 2005 Jelmer Vernooij <jelmer@samba.org>
+# Published under the GNU General Public License
+use strict;
+
+use FindBin qw($RealBin);
+use lib "$RealBin/../..";
+use test;
+
+my %settings = Test::GetSettings(@ARGV);
+$settings{'IDL-Arguments'} = ['--quiet', '--parse', '--parser=ndr_test.c', '--header=ndr_test.h'];
+$settings{'IncludeFiles'} = ['ndr_test.h'];
+$settings{'ExtraFiles'} = ['ndr_test.c'];
+
+Test::test_idl(
+ # Name
+ 'Fixed-Array',
+
+ # Settings
+ \%settings,
+
+ # IDL
+ '[public] void Test([in] uint8 x[10]);',
+
+ # C Test
+ '
+ uint8_t data[] = {1,2,3,4,5,6,7,8,9,10};
+ int i;
+ DATA_BLOB b;
+ struct ndr_pull *ndr;
+ struct Test r;
+
+ b.data = data;
+ b.length = 10;
+ ndr = ndr_pull_init_blob(&b, mem_ctx);
+
+ if (NT_STATUS_IS_ERR(ndr_pull_Test(ndr, NDR_IN, &r)))
+ return 1;
+
+ if (ndr->offset != 10)
+ return 2;
+
+ for (i = 0; i < 10; i++) {
+ if (r.in.x[i] != i+1) return 3;
+ }
+');
diff --git a/source4/build/pidl/tests/ndr_refptr.pl b/source4/build/pidl/tests/ndr_refptr.pl
index 59ebd295f6..d42a34d1b0 100755
--- a/source4/build/pidl/tests/ndr_refptr.pl
+++ b/source4/build/pidl/tests/ndr_refptr.pl
@@ -6,7 +6,7 @@
use strict;
use FindBin qw($RealBin);
-use lib "$RealBin/..";
+use lib "$RealBin/../..";
use test;
my %settings = Test::GetSettings(@ARGV);
diff --git a/source4/build/pidl/tests/ndr_simple.pl b/source4/build/pidl/tests/ndr_simple.pl
index 7049dfa68d..de2f34383e 100755
--- a/source4/build/pidl/tests/ndr_simple.pl
+++ b/source4/build/pidl/tests/ndr_simple.pl
@@ -5,7 +5,7 @@
use strict;
use FindBin qw($RealBin);
-use lib "$RealBin/..";
+use lib "$RealBin/../..";
use test;
my %settings = Test::GetSettings(@ARGV);
diff --git a/source4/build/pidl/tests/ndr_string.pl b/source4/build/pidl/tests/ndr_string.pl
index 9ea4ca42b6..1c75eb90cc 100755
--- a/source4/build/pidl/tests/ndr_string.pl
+++ b/source4/build/pidl/tests/ndr_string.pl
@@ -5,7 +5,7 @@
use strict;
use FindBin qw($RealBin);
-use lib "$RealBin/..";
+use lib "$RealBin/../..";
use test;
my %settings = Test::GetSettings(@ARGV);