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