Example Test Procedures

Sanity/Self Checks "aka: Talking to yourself"

The following code is based on the Example Node Configurations

Code:

#!/bin/env sh

echo "Running Sanity Checks"

bpdriver 100 dtn://user-laptop.dtn/temp dtn://user-laptop.dtn/echo 6000
bpsink dtn://user-laptop.dtn/store &
sleep 1
echo "Hello" | bpsource dtn://user-laptop.dtn/store
sleep 2
kill `pidof bpsink`

dtnping -c 5 dtn://user-laptop.dtn/ping
dtnping -c 5 dtn://unit017.dtn/ping
dtnping -c 5 -e 1000000000 dtn://unit017.dtn/ping
dtnrecv dtn://user-laptop.dtn/store &
sleep 1
dtnsend -s dtn://user-laptop.dtn/temp -d dtn://user-laptop.dtn/store -t d
dtnsend -s dtn://user-laptop.dtn/temp -d dtn://user-laptop.dtn/store -t m -p "Hello"
sleep 2
kill `pidof dtnrecv`

OUTPUT

0
Stopping bpdriver.
Time: 1 seconds.
Data size: 600000 bytes in 100 bundles.
Throughput: 600000 bytes per second.
: : Stopping bpsource.
source_eid [dtn://user-laptop.dtn/ping.3549]
dtn_register succeeded, regid 24
PING [dtn://user-laptop.dtn/ping] (expiration 30)...
20 bytes from [dtn://user-laptop.dtn/ping]: 'dtnping!' seqno=0, time=16 ms
20 bytes from [dtn://user-laptop.dtn/ping]: 'dtnping!' seqno=1, time=11 ms
20 bytes from [dtn://user-laptop.dtn/ping]: 'dtnping!' seqno=2, time=4 ms
20 bytes from [dtn://user-laptop.dtn/ping]: 'dtnping!' seqno=3, time=3 ms
20 bytes from [dtn://user-laptop.dtn/ping]: 'dtnping!' seqno=4, time=4 ms
source_eid [dtn://user-laptop.dtn/ping.3551]
dtn_register succeeded, regid 25
PING [dtn://unit017.dtn/ping] (expiration 30)...
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=0, time=30007 ms
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=1, time=30005 ms
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=2, time=30004 ms
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=3, time=30005 ms
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=4, time=30003 ms
source_eid [dtn://user-laptop.dtn/ping.3804]
dtn_register succeeded, regid 26
PING [dtn://unit017.dtn/ping] (expiration 1000000000)...
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=0, time=1 ms
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=1, time=4 ms
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=2, time=4 ms
bundle deleted at [dtn://user-laptop.dtn] (lifetime expired): seqno=3, time=4 ms
error getting ping reply: -1 (invalid argument)
dtnrecv (pid 3807) starting up
find registration succeeded, regid 0
register succeeded, regid 27
looping forever to receive bundles
dtn_recv [dtn://user-laptop.dtn/store]...

0 extension blocks from [dtn://user-laptop.dtn/temp]: transit time=0 ms

0 metadata blocks from [dtn://user-laptop.dtn/temp]: transit time=0 ms
25 payload bytes from [dtn://user-laptop.dtn/temp]: transit time=0 ms
0000000 5475 6520 4a75 6c20 3238 2031 323a 3130 |  Tue Jul 28 12:10
0000010 3a31 3420 3230 3039 0a                  |  :14 2009.


dtn_recv [dtn://user-laptop.dtn/store]...

0 extension blocks from [dtn://user-laptop.dtn/temp]: transit time=0 ms

0 metadata blocks from [dtn://user-laptop.dtn/temp]: transit time=0 ms
5 payload bytes from [dtn://user-laptop.dtn/temp]: transit time=0 ms
0000000 4865 6c6c 6f                            |  Hello


dtn_recv [dtn://user-laptop.dtn/store]...

Implementation Test Procedures

ION -> ION

$ echo "Hello World from GRC at" `date` | bpsource "dtn://aplsci.dtn/a"
: : Stopping bpsource.
$ 
$ bpsink "dtn://aplsci.dtn/a"
ION event: Payload delivered.
        payload length is 51.
        'Hello World from GRC at Fri May 8 16:45:56 EDT 2009'
ION event: Reception interrupted.

$ # We previously ran bpecho
$ # bpecho "dtn://apl.dtn/echo" &
$ 
$ bpdriver 10 "dtn://apl.dtn/a" "dtn://apl.dtn/echo" 1500
..........0
Stopping bpdriver.
Time: 0 seconds.
Data size: 15000 bytes in 10 bundles.
Interval is too short to measure rate.

DTN2 -> DTN2

$ dtnsend -s "dtn://msfc.dtn/b" -d "dtn://msfc.dtn/a" -t m -p "Hello World"
$
$ dtnrecv  "dtn://msfc.dtn/a"
dtnrecv (pid 26303) starting up
find registration succeeded, regid 0
register succeeded, regid 12
looping forever to receive bundles
dtn_recv [dtn://msfc.dtn/a]...

0 extension blocks from [dtn://msfc.dtn/b]: transit time=0 ms

0 metadata blocks from [dtn://msfc.dtn/b]: transit time=0 ms
11 payload bytes from [dtn://msfc.dtn/b]: transit time=0 ms
0000000 4865 6c6c 6f20 576f 726c 64             |  Hello World


dtn_recv [dtn://msfc.dtn/a]...

$ dtnping  "dtn://msfc.dtn/ping"
source_eid [dtn://msfc.dtn/ping.26307]
dtn_register succeeded, regid 13
PING [dtn://msfc.dtn/ping] (expiration 30)...
20 bytes from [dtn://msfc.dtn/ping]: 'dtnping!' seqno=0, time=45 ms
20 bytes from [dtn://msfc.dtn/ping]: 'dtnping!' seqno=1, time=168 ms
20 bytes from [dtn://msfc.dtn/ping]: 'dtnping!' seqno=2, time=98 ms
20 bytes from [dtn://msfc.dtn/ping]: 'dtnping!' seqno=3, time=139 ms

DTN2 -> ION

On the sending DTN2 node:

dtnsend -s "dtn://msfc.dtn/a" -d "dtn://aplsci.dtn/a" -t m -p "Hello World"

On the receiving ION node:

$ bpsink "dtn://aplsci.dtn/a"
ION event: Payload delivered.
        payload length is 11.
        'Hello World'

ION -> DTN2

On the sending ION node:

echo "Hello World" | bpsource "dtn://msfc.dtn/a"

On the receiving DTN2 node:

$ dtnrecv  "dtn://msfc.dtn/a"
dtnrecv (pid 26295) starting up
find registration succeeded, regid 0
register succeeded, regid 11
looping forever to receive bundles
dtn_recv [dtn://msfc.dtn/a]...

0 extension blocks from [dtn:none]: transit time=0 ms

0 metadata blocks from [dtn:none]: transit time=0 ms
11 payload bytes from [dtn:none]: transit time=0 ms
0000000 4865 6c6c 6f20 576f 726c 64             |  Hello World


dtn_recv [dtn://msfc.dtn/a]...

DtnBone/Disconnectathon/ExampleTestProcedures (last edited 2009-07-28 16:25:33 by JosephIshac)