diff options
Diffstat (limited to 'source4/build/pidl/tests/ndr_align.pl')
-rwxr-xr-x | source4/build/pidl/tests/ndr_align.pl | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/source4/build/pidl/tests/ndr_align.pl b/source4/build/pidl/tests/ndr_align.pl deleted file mode 100755 index da994224eb..0000000000 --- a/source4/build/pidl/tests/ndr_align.pl +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/perl -# NDR alignment tests -# (C) 2005 Jelmer Vernooij. Published under the GNU GPL -use strict; - -use Parse::Pidl::Test; - -my %settings = Parse::Pidl::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']; - -Parse::Pidl::Test::test_idl('align-uint8-uint16', \%settings, -' - typedef [public] struct { - uint8 x; - uint16 y; - } bla; -', -' - struct ndr_push *ndr = ndr_push_init(); - struct bla r; - uint8_t expected[] = { 0x0D, 0x00, 0xef, 0xbe }; - DATA_BLOB expected_blob = { expected, 4 }; - DATA_BLOB result_blob; - r.x = 13; - r.y = 0xbeef; - - if (NT_STATUS_IS_ERR(ndr_push_bla(ndr, NDR_SCALARS|NDR_BUFFERS, &r))) - return 1; - - result_blob = ndr_push_blob(ndr); - - if (!data_blob_equal(&result_blob, &expected_blob)) - return 2; -'); - -Parse::Pidl::Test::test_idl('align-uint8-uint32', \%settings, -' - typedef [public] struct { - uint8 x; - uint32 y; - } bla; -', -' - struct ndr_push *ndr = ndr_push_init(); - struct bla r; - uint8_t expected[] = { 0x0D, 0x00, 0x00, 0x00, 0xef, 0xbe, 0xef, 0xbe }; - DATA_BLOB expected_blob = { expected, 8 }; - DATA_BLOB result_blob; - r.x = 13; - r.y = 0xbeefbeef; - - if (NT_STATUS_IS_ERR(ndr_push_bla(ndr, NDR_SCALARS|NDR_BUFFERS, &r))) - return 1; - - result_blob = ndr_push_blob(ndr); - - if (!data_blob_equal(&result_blob, &expected_blob)) - return 2; -'); - - -Parse::Pidl::Test::test_idl('align-uint8-hyper', \%settings, -' - typedef [public] struct { - uint8 x; - hyper y; - } bla; -', -' - struct ndr_push *ndr = ndr_push_init(); - struct bla r; - uint8_t expected[] = { 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xef, 0xbe, 0xef, 0xbe, 0xef, 0xbe, 0xef, 0xbe }; - DATA_BLOB expected_blob = { expected, 16 }; - DATA_BLOB result_blob; - r.x = 13; - r.y = 0xbeefbeefbeefbeef; - - if (NT_STATUS_IS_ERR(ndr_push_bla(ndr, NDR_SCALARS|NDR_BUFFERS, &r))) - return 1; - - result_blob = ndr_push_blob(ndr); - - if (!data_blob_equal(&result_blob, &expected_blob)) - return 2; -'); - -Parse::Pidl::Test::test_idl('noalignflag-uint8-uint16', \%settings, -' - typedef [public] struct { - uint8 x; - uint16 y; - } bla; -', -' - struct ndr_push *ndr = ndr_push_init(); - struct bla r; - uint8_t expected[] = { 0x0D, 0xef, 0xbe }; - DATA_BLOB expected_blob = { expected, 3 }; - DATA_BLOB result_blob; - ndr->flags |= LIBNDR_FLAG_NOALIGN; - - r.x = 13; - r.y = 0xbeef; - - if (NT_STATUS_IS_ERR(ndr_push_bla(ndr, NDR_SCALARS|NDR_BUFFERS, &r))) - return 1; - - result_blob = ndr_push_blob(ndr); - - if (!data_blob_equal(&result_blob, &expected_blob)) - return 2; -'); - -Parse::Pidl::Test::test_idl('align-blob-align2', \%settings, -' - typedef [public] struct { - uint8 x; - [flag(LIBNDR_FLAG_ALIGN2)] DATA_BLOB data; - } bla; -', -' - struct ndr_push *ndr = ndr_push_init(); - struct bla r; - uint8_t data[] = { 0x01, 0x02 }; - uint8_t expected[] = { 0x0D, 0x00, 0x01, 0x02 }; - DATA_BLOB expected_blob = { expected, 4 }; - DATA_BLOB result_blob; - - r.x = 13; - r.data.data = data; - r.data.length = 2; - - if (NT_STATUS_IS_ERR(ndr_push_bla(ndr, NDR_SCALARS|NDR_BUFFERS, &r))) - return 1; - - result_blob = ndr_push_blob(ndr); - - if (!data_blob_equal(&result_blob, &expected_blob)) - return 2; -'); |