summaryrefslogtreecommitdiff
path: root/source4/build/pidl/tests
diff options
context:
space:
mode:
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);