blob: eb0dc9e9945b753b5c95400af538b790bcb79c3e [file] [log] [blame]
Eric Newberryc22afde2018-06-19 01:28:31 -07001#!/bin/bash
2source ../multi-host.conf
3
4clean_up() {
5 r=$(sudo killall ndn-traffic-server 2>&1)
6 r=$(sudo killall ndn-traffic 2>&1)
7 r=$(sudo killall nfd 2>&1)
8}
9
10# A: Start NFD
11workdir=$(pwd)
12echo "Starting nfd on A..."
13mkdir -p $workdir/logs; sudo nfd &> $workdir/logs/nfd.log &
14sleep 1
15
16# A: Start instances of ndn-traffic-server
17echo "Starting Traffic Server 1 (Prefix=/, FreshnessPeriod=10ms, Data=Z)..."
18ndn-traffic-server $workdir/test-traffic-server-1.conf &> $workdir/logs/server-1.log &
19sleep 0.1
20echo "Starting Traffic Server 2 (Prefix=/A, FreshnessPeriod=10ms, Data=A)..."
21ndn-traffic-server $workdir/test-traffic-server-2.conf &> $workdir/logs/server-2.log &
22sleep 0.1
23echo "Starting Traffic Server 3 (Prefix=/A/B/C, FreshnessPeriod=10ms, Data=C)..."
24ndn-traffic-server $workdir/test-traffic-server-3.conf &> $workdir/logs/server-3.log &
25sleep 0.1
26echo "Starting Traffic Server 4 (Prefix=/D/E, FreshnessPeriod=10ms, Data=E)..."
27ndn-traffic-server $workdir/test-traffic-server-4.conf &> $workdir/logs/server-4.log &
28sleep 0.1
29
30# A: Request / with MustBeFresh=true. Fail if unanswered or if received content is not "Z".
31echo "Starting Traffic Client 1 (Prefix=/, MustBeFresh=true, ExpectedContent=Z, MaxSuffixComponents=2)..."
32ndn-traffic -c 1 $workdir/test-traffic-client-1.conf &> $workdir/logs/client-1.log
33outcode=$?
34if [[ $outcode -ne 0 ]]; then
35 echo "Received non-zero exit code from Traffic Client 1. Actual: $outcode"
36 clean_up
37 exit 1
38fi
39echo "Traffic Client 1 received Data with Content=Z"
40
41# Sleep for 100ms
42sleep 0.1
43
44# A: Request /F with MustBeFresh=true. Fail if unanswered or if received content is not "Z".
45echo "Starting Traffic Client 2 (Prefix=/F, MustBeFresh=true, ExpectedContent=Z)..."
46ndn-traffic -c 1 $workdir/test-traffic-client-2.conf &> $workdir/logs/client-2.log
47outcode=$?
48if [[ $outcode -ne 0 ]]; then
49 echo "Received non-zero exit code from Traffic Client 2. Actual: $outcode"
50 clean_up
51 exit 1
52fi
53echo "Traffic Client 2 received Data with Content=Z"
54
55# Sleep for 100ms
56sleep 0.1
57
58# A: Request /A with MustBeFresh=true. Fail if unanswered or if received content is not "A"
59echo "Starting Traffic Client 3 (Prefix=/A, MustBeFresh=true, ExpectedContent=A)..."
60ndn-traffic -c 1 $workdir/test-traffic-client-3.conf &> $workdir/logs/client-3.log
61outcode=$?
62if [[ $outcode -ne 0 ]]; then
63 echo "Received non-zero exit code from Traffic Client 3. Actual: $outcode"
64 clean_up
65 exit 1
66fi
67echo "Traffic Client 3 received Data with Content=A"
68
69# Sleep for 100ms
70sleep 0.1
71
72# A: Request /a with MustBeFresh=true. Fail if unanswered or if received content is not "Z".
73echo "Starting Traffic Client 4 (Prefix=/a, MustBeFresh=true, ExpectedContent=Z)..."
74ndn-traffic -c 1 $workdir/test-traffic-client-4.conf &> $workdir/logs/client-4.log
75outcode=$?
76if [[ $outcode -ne 0 ]]; then
77 echo "Received non-zero exit code from Traffic Client 4. Actual: $outcode"
78 clean_up
79 exit 1
80fi
81echo "Traffic Client 4 received Data with Content=Z"
82
83# Sleep for 100ms
84sleep 0.1
85
86# A: Request /A/B with MustBeFresh=true. Fail if unanswered or if received content is not "A".
87echo "Starting Traffic Client 5 (Prefix=/A/B, MustBeFresh=true, ExpectedContent=A)..."
88ndn-traffic -c 1 $workdir/test-traffic-client-5.conf &> $workdir/logs/client-5.log
89outcode=$?
90if [[ $outcode -ne 0 ]]; then
91 echo "Received non-zero exit code from Traffic Client 5. Actual: $outcode"
92 clean_up
93 exit 1
94fi
95echo "Traffic Client 5 received Data with Content=A"
96
97# Sleep for 100ms
98sleep 0.1
99
100# A: Request /A/B/G with MustBeFresh=true. Fail if unanswered or if received content is not "A".
101echo "Starting Traffic Client 6 (Prefix=/A/B/G, MustBeFresh=true, ExpectedContent=A)..."
102ndn-traffic -c 1 $workdir/test-traffic-client-6.conf &> $workdir/logs/client-6.log
103outcode=$?
104if [[ $outcode -ne 0 ]]; then
105 echo "Received non-zero exit code from Traffic Client 6. Actual: $outcode"
106 clean_up
107 exit 1
108fi
109echo "Traffic Client 6 received Data with Content=A"
110
111# Sleep for 100ms
112sleep 0.1
113
114# A: Request /A/B/C with MustBeFresh=true. Fail if unanswered or if received content is not "C".
115echo "Starting Traffic Client 7 (Prefix=/A/B/C, MustBeFresh=true, ExpectedContent=C)..."
116ndn-traffic -c 1 $workdir/test-traffic-client-7.conf &> $workdir/logs/client-7.log
117outcode=$?
118if [[ $outcode -ne 0 ]]; then
119 echo "Received non-zero exit code from Traffic Client 7. Actual: $outcode"
120 clean_up
121 exit 1
122fi
123echo "Traffic Client 7 received Data with Content=C"
124
125# Sleep for 100ms
126sleep 0.1
127
128# A: Request /A/B/C/P/Q/R/S/T/U/V/W/X/Y/Z with MustBeFresh=true. Fail if unanswered or if received
129# content is not "C".
130echo "Starting Traffic Client 8 (Prefix=/A/B/C/P/Q/R/S/T/U/V/W/X/Y/Z, MustBeFresh=true, ExpectedContent=C)..."
131ndn-traffic -c 1 $workdir/test-traffic-client-8.conf &> $workdir/logs/client-8.log
132outcode=$?
133if [[ $outcode -ne 0 ]]; then
134 echo "Received non-zero exit code from Traffic Client 8. Actual: $outcode"
135 clean_up
136 exit 1
137fi
138echo "Traffic Client 8 received Data with Content=C"
139
140# Sleep for 100ms
141sleep 0.1
142
143# A: Request /D with MustBeFresh=true and Exclude=[...,D]. Fail if unanswered or if received content
144# is not "Z".
145echo "Starting Traffic Client 9 (Prefix=/D, MustBeFresh=true, ExcludeRange=...,D, ExpectedContent=Z)..."
146ndn-traffic -c 1 $workdir/test-traffic-client-9.conf &> $workdir/logs/client-9.log
147outcode=$?
148if [[ $outcode -ne 0 ]]; then
149 echo "Received non-zero exit code from Traffic Client 9. Actual: $outcode"
150 clean_up
151 exit 1
152fi
153echo "Traffic Client 9 received Data with Content=Z"
154
155# Sleep for 100ms
156sleep 0.1
157
158# A: Request /D with MustBeFresh=true and Exclude=[...,E]. Fail if unanswered or if received content
159# is not "Z".
160echo "Starting Traffic Client 10 (Prefix=/D MustBeFresh=true, ExcludeRange=...,E, ExpectedContent=Z)..."
161outcode=$?
162if [[ $outcode -ne 0 ]]; then
163 echo "Received non-zero exit code from Traffic Client 10. Actual: $outcode"
164 clean_up
165 exit 1
166fi
167echo "Traffic Client 10 received Data with Content=Z"
168
169clean_up