1#!/usr/bin/perl
2# Simple tests for unique pointers
3# (C) 2006 Jelmer Vernooij <jelmer@samba.org>.
4# Published under the GNU General Public License.
5use strict;
6
7use Test::More tests => 1 * 8;
8use FindBin qw($RealBin);
9use lib "$RealBin";
10use Util qw(test_samba4_ndr);
11
12SKIP: {
13	skip "full pointers not supported yet", 8;
14
15test_samba4_ndr("fullptr-push-dup",
16'
17	[public] uint16 echo_TestFull([in,ptr] uint32 *x, [in,ptr] uint32 *y);
18',
19'
20	struct ndr_push *ndr = ndr_push_init_ctx(NULL, NULL);
21	uint32_t v = 13;
22	struct echo_TestFull r;
23	r.in.x = &v;
24	r.in.y = &v;
25
26	if (!NDR_ERR_CODE_IS_SUCCESS(ndr_push_echo_TestFull(ndr, NDR_IN, &r))) {
27		fprintf(stderr, "push failed\n");
28		return 1;
29	}
30
31	if (ndr->offset != 12) {
32		fprintf(stderr, "Offset(%d) != 12\n", ndr->offset);
33		return 2;
34	}
35
36	if (ndr->data[0] != ndr->data[8] ||
37	    ndr->data[1] != ndr->data[9] ||
38		ndr->data[2] != ndr->data[10] ||
39		ndr->data[3] != ndr->data[11]) {
40		fprintf(stderr, "Data incorrect\n");
41		return 3;
42	}
43');
44}
45