45 lines
995 B
Perl
45 lines
995 B
Perl
|
#!/usr/bin/perl
|
||
|
# Simple tests for unique pointers
|
||
|
# (C) 2006 Jelmer Vernooij <jelmer@samba.org>.
|
||
|
# Published under the GNU General Public License.
|
||
|
use strict;
|
||
|
|
||
|
use Test::More tests => 1 * 8;
|
||
|
use FindBin qw($RealBin);
|
||
|
use lib "$RealBin";
|
||
|
use Util qw(test_samba4_ndr);
|
||
|
|
||
|
SKIP: {
|
||
|
skip "full pointers not supported yet", 8;
|
||
|
|
||
|
test_samba4_ndr("fullptr-push-dup",
|
||
|
'
|
||
|
[public] uint16 echo_TestFull([in,ptr] uint32 *x, [in,ptr] uint32 *y);
|
||
|
',
|
||
|
'
|
||
|
struct ndr_push *ndr = ndr_push_init_ctx(NULL, NULL);
|
||
|
uint32_t v = 13;
|
||
|
struct echo_TestFull r;
|
||
|
r.in.x = &v;
|
||
|
r.in.y = &v;
|
||
|
|
||
|
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_push_echo_TestFull(ndr, NDR_IN, &r))) {
|
||
|
fprintf(stderr, "push failed\n");
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
if (ndr->offset != 12) {
|
||
|
fprintf(stderr, "Offset(%d) != 12\n", ndr->offset);
|
||
|
return 2;
|
||
|
}
|
||
|
|
||
|
if (ndr->data[0] != ndr->data[8] ||
|
||
|
ndr->data[1] != ndr->data[9] ||
|
||
|
ndr->data[2] != ndr->data[10] ||
|
||
|
ndr->data[3] != ndr->data[11]) {
|
||
|
fprintf(stderr, "Data incorrect\n");
|
||
|
return 3;
|
||
|
}
|
||
|
');
|
||
|
}
|