• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh
2# Copyright (c) 2020 Petr Vorel <pvorel@suse.cz>
3# Copyright (c) 2017 Oracle and/or its affiliates. All Rights Reserved.
4# Copyright (c) International Business Machines Corp., 2000
5
6TST_TESTFUNC=do_test
7TST_SETUP=do_setup
8TST_NEEDS_TMPDIR=1
9TST_NEEDS_CMDS="rpcinfo wc"
10
11do_setup()
12{
13	check_rpc
14
15	# Create file with 1 tcp and 1 udp line. Use for variable assignments.
16	rpcinfo -p $(tst_ipaddr) | grep tcp | sed -n 2p > rpc_out
17	rpcinfo -p $(tst_ipaddr) | grep udp | sed -n 2p >> rpc_out
18
19	wc -l rpc_out | grep -q "2" || \
20		tst_brk TBROK "Not enough programs registered on $(tst_ipaddr)"
21
22	# Using "rpc_out" file created above, assign variables for rpcinfo opts
23	TPNUM=$(grep tcp rpc_out | awk '{print $1}')
24	TVNUM=$(grep tcp rpc_out | awk '{print $2}')
25	TCPNAME=$(grep tcp rpc_out | awk '{print $5}')
26	UPNUM=$(grep udp rpc_out | awk '{print $1}')
27	UVNUM=$(grep udp rpc_out | awk '{print $2}')
28	UDPNAME=$(grep udp rpc_out | awk '{print $5}')
29}
30
31do_test()
32{
33	local thost="$(tst_ipaddr)"
34
35	EXPECT_RHOST_PASS rpcinfo -p $thost | grep -q portmapper
36	EXPECT_RHOST_PASS rpcinfo -t $thost $TPNUM
37	EXPECT_RHOST_PASS rpcinfo -t $thost $TPNUM $TVNUM
38	EXPECT_RHOST_PASS rpcinfo -t $thost $TCPNAME
39	EXPECT_RHOST_PASS rpcinfo -t $thost $TCPNAME $TVNUM
40	EXPECT_RHOST_PASS rpcinfo -u $thost 100000
41	EXPECT_RHOST_PASS rpcinfo -u $thost 100000 2
42	EXPECT_RHOST_PASS rpcinfo -u $thost portmapper
43	EXPECT_RHOST_PASS rpcinfo -u $thost portmapper 2
44
45	tst_res TINFO "Test rpcinfo with missing or bad options"
46	EXPECT_RHOST_FAIL rpcinfo -p bogushost
47	EXPECT_RHOST_FAIL rpcinfo -bogusflag
48	EXPECT_RHOST_FAIL rpcinfo -t $thost
49	EXPECT_RHOST_FAIL rpcinfo -u $thost
50	EXPECT_RHOST_FAIL rpcinfo -u $thost bogusprog
51	EXPECT_RHOST_FAIL rpcinfo -u $thost 11579
52	EXPECT_RHOST_FAIL rpcinfo -u $thost 100000 5
53}
54
55. rpc_lib.sh
56tst_run
57