blob: add8d1ae65faca3bd282d03682cd3551dd807892 [file] [log] [blame]
Dean Troyerd4f69b22013-07-24 12:24:43 -05001#!/usr/bin/env bash
2
3# Tests for DevStack functions
4# address_in_net()
5
6TOP=$(cd $(dirname "$0")/.. && pwd)
7
8# Import common functions
9source $TOP/functions
10
Dean Troyerd4f69b22013-07-24 12:24:43 -050011
12echo "Testing IP addr functions"
13
14if [[ $(cidr2netmask 4) == 240.0.0.0 ]]; then
15 echo "cidr2netmask(): /4...OK"
16else
17 echo "cidr2netmask(): /4...failed"
18fi
19if [[ $(cidr2netmask 8) == 255.0.0.0 ]]; then
20 echo "cidr2netmask(): /8...OK"
21else
22 echo "cidr2netmask(): /8...failed"
23fi
24if [[ $(cidr2netmask 12) == 255.240.0.0 ]]; then
25 echo "cidr2netmask(): /12...OK"
26else
27 echo "cidr2netmask(): /12...failed"
28fi
29if [[ $(cidr2netmask 16) == 255.255.0.0 ]]; then
30 echo "cidr2netmask(): /16...OK"
31else
32 echo "cidr2netmask(): /16...failed"
33fi
34if [[ $(cidr2netmask 20) == 255.255.240.0 ]]; then
35 echo "cidr2netmask(): /20...OK"
36else
37 echo "cidr2netmask(): /20...failed"
38fi
39if [[ $(cidr2netmask 24) == 255.255.255.0 ]]; then
40 echo "cidr2netmask(): /24...OK"
41else
42 echo "cidr2netmask(): /24...failed"
43fi
44if [[ $(cidr2netmask 28) == 255.255.255.240 ]]; then
45 echo "cidr2netmask(): /28...OK"
46else
47 echo "cidr2netmask(): /28...failed"
48fi
49if [[ $(cidr2netmask 30) == 255.255.255.252 ]]; then
50 echo "cidr2netmask(): /30...OK"
51else
52 echo "cidr2netmask(): /30...failed"
53fi
54if [[ $(cidr2netmask 32) == 255.255.255.255 ]]; then
55 echo "cidr2netmask(): /32...OK"
56else
57 echo "cidr2netmask(): /32...failed"
58fi
59
60if [[ $(maskip 169.254.169.254 240.0.0.0) == 160.0.0.0 ]]; then
61 echo "maskip(): /4...OK"
62else
63 echo "maskip(): /4...failed"
64fi
65if [[ $(maskip 169.254.169.254 255.0.0.0) == 169.0.0.0 ]]; then
66 echo "maskip(): /8...OK"
67else
68 echo "maskip(): /8...failed"
69fi
70if [[ $(maskip 169.254.169.254 255.240.0.0) == 169.240.0.0 ]]; then
71 echo "maskip(): /12...OK"
72else
73 echo "maskip(): /12...failed"
74fi
75if [[ $(maskip 169.254.169.254 255.255.0.0) == 169.254.0.0 ]]; then
76 echo "maskip(): /16...OK"
77else
78 echo "maskip(): /16...failed"
79fi
80if [[ $(maskip 169.254.169.254 255.255.240.0) == 169.254.160.0 ]]; then
81 echo "maskip(): /20...OK"
82else
83 echo "maskip(): /20...failed"
84fi
85if [[ $(maskip 169.254.169.254 255.255.255.0) == 169.254.169.0 ]]; then
86 echo "maskip(): /24...OK"
87else
88 echo "maskip(): /24...failed"
89fi
90if [[ $(maskip 169.254.169.254 255.255.255.240) == 169.254.169.240 ]]; then
91 echo "maskip(): /28...OK"
92else
93 echo "maskip(): /28...failed"
94fi
95if [[ $(maskip 169.254.169.254 255.255.255.255) == 169.254.169.254 ]]; then
96 echo "maskip(): /32...OK"
97else
98 echo "maskip(): /32...failed"
99fi
100
101for mask in 8 12 16 20 24 26 28; do
102 echo -n "address_in_net(): in /$mask..."
103 if address_in_net 10.10.10.1 10.10.10.0/$mask; then
104 echo "OK"
105 else
106 echo "address_in_net() failed on /$mask"
107 fi
108
109 echo -n "address_in_net(): not in /$mask..."
110 if ! address_in_net 10.10.10.1 11.11.11.0/$mask; then
111 echo "OK"
112 else
113 echo "address_in_net() failed on /$mask"
114 fi
115done