xref: /linux/tools/net/sunrpc/xdrgen/tests/bad-program-number-too-large.x (revision d141ec2825b4d3ec52f27c43bdd864090159273a)
1*1663ea5bSChuck Lever /*
2*1663ea5bSChuck Lever  * NEGATIVE TEST CASE -- xdrgen must REJECT this specification.
3*1663ea5bSChuck Lever  *
4*1663ea5bSChuck Lever  * RFC 5531 encodes program, version, and procedure numbers as unsigned
5*1663ea5bSChuck Lever  * 32-bit integers (Section 9). This spec gives the program a number one
6*1663ea5bSChuck Lever  * past the 32-bit maximum, which the front end must reject.
7*1663ea5bSChuck Lever  *
8*1663ea5bSChuck Lever  * Expected diagnostic:
9*1663ea5bSChuck Lever  *   program number 4294967296 in program 'BADPROG' exceeds 4294967295
10*1663ea5bSChuck Lever  *
11*1663ea5bSChuck Lever  * The tests directory has no automated runner; exercise by hand:
12*1663ea5bSChuck Lever  *   ./xdrgen definitions tests/bad-program-number-too-large.x   (must fail)
13*1663ea5bSChuck Lever  */
14*1663ea5bSChuck Lever 
15*1663ea5bSChuck Lever program BADPROG {
16*1663ea5bSChuck Lever 	version BADVERS {
17*1663ea5bSChuck Lever 		void BADPROC_NULL(void) = 0;
18*1663ea5bSChuck Lever 	} = 1;
19*1663ea5bSChuck Lever } = 4294967296;
20