3 testname=`basename "$0"`
4 test_description="nncp-rm's behaviour"
5 . $SHARNESS_TEST_SRCDIR/sharness.sh
9 open(\$rnd, "<", "/dev/urandom") or die \$!;
10 read(\$rnd, \$data, 32) or die \$!;
12 print MIME::Base32::encode \$data;
18 for i in $(seq $(jot -r 1 10 20)) ; do rand32 ; done
24 map { \$all{\$_} = 1 } qw($PKTS);
25 map { delete \$all{\$_} } qw($@);
26 print join " ", keys %all;
33 echo unexpectedly existing: $pkt >&2
38 for pkt in `pkts_remove $@` ; do
39 if ! [ -e $pkt ] ; then
40 echo unexpectedly removed: $pkt >&2
50 nncp-cfgdir -cfg cfg -dump cfgdir
51 echo "$PWD/spool" > cfgdir/spool
52 echo "$PWD/log" > cfgdir/log
54 mkdir -p cfgdir/neigh/neigh
55 for w in id exchpub signpub ; do echo $neigh > cfgdir/neigh/neigh/$w ; done
56 mkdir -p spool/tmp spool/$neigh/rx/hdr spool/$neigh/rx/seen spool/$neigh/tx/hdr
57 date_old=$(date -j -f %s +%FT%T $(( $now - (3600 * 24 * 7) )))
61 for pkt in `randpkts` ; do
62 touch -d $date_old spool/$neigh/rx/$pkt spool/$neigh/rx/hdr/$pkt
63 pkts_old_rx="$pkts_old_rx spool/$neigh/rx/$pkt"
64 pkts_old_rx_hdr="$pkts_old_rx_hdr spool/$neigh/rx/hdr/$pkt"
69 for pkt in `randpkts` ; do
70 touch -d $date_old spool/$neigh/tx/$pkt spool/$neigh/tx/hdr/$pkt
71 pkts_old_tx="$pkts_old_tx spool/$neigh/tx/$pkt"
72 pkts_old_tx_hdr="$pkts_old_tx_hdr spool/$neigh/tx/hdr/$pkt"
76 for pkt in `randpkts` ; do
77 touch -d $date_old spool/$neigh/rx/$pkt.part
78 pkts_old_part="$pkts_old_part spool/$neigh/rx/$pkt.part"
82 for pkt in `randpkts` ; do
83 touch -d $date_old spool/$neigh/rx/$pkt.nock
84 pkts_old_nock="$pkts_old_nock spool/$neigh/rx/$pkt.nock"
88 for pkt in `randpkts` ; do
89 touch -d $date_old spool/$neigh/rx/seen/$pkt
90 pkts_old_seen="$pkts_old_seen spool/$neigh/rx/seen/$pkt"
95 for pkt in `randpkts` ; do
96 touch spool/$neigh/rx/$pkt spool/$neigh/rx/hdr/$pkt
97 pkts_new_rx="$pkts_new_rx spool/$neigh/rx/$pkt"
98 pkts_new_rx_hdr="$pkts_new_rx_hdr spool/$neigh/rx/hdr/$pkt"
103 for pkt in `randpkts` ; do
104 touch spool/$neigh/tx/$pkt spool/$neigh/tx/hdr/$pkt
105 pkts_new_tx="$pkts_new_tx spool/$neigh/tx/$pkt"
106 pkts_new_tx_hdr="$pkts_new_tx_hdr spool/$neigh/tx/hdr/$pkt"
110 for pkt in `randpkts` ; do
111 touch spool/$neigh/rx/$pkt.part
112 pkts_new_part="$pkts_new_part spool/$neigh/rx/$pkt.part"
116 for pkt in `randpkts` ; do
117 touch spool/$neigh/rx/$pkt.nock
118 pkts_new_nock="$pkts_new_nock spool/$neigh/rx/$pkt.nock"
122 for pkt in `randpkts` ; do
123 touch spool/$neigh/rx/seen/$pkt
124 pkts_new_seen="$pkts_new_seen spool/$neigh/rx/seen/$pkt"
128 for pkt in `randpkts` ; do
129 touch -d $date_old spool/tmp/$pkt
130 pkts_tmp_old="$pkts_tmp_old spool/tmp/$pkt"
134 for pkt in `randpkts` ; do
136 pkts_tmp_new="$pkts_tmp_new spool/tmp/$pkt"
139 pkts_hdr_excess_old_rx=""
140 for pkt in `randpkts` ; do
141 touch -d $date_old spool/$neigh/rx/hdr/$pkt
142 pkts_hdr_excess_old_rx="$pkts_hdr_excess_old_rx spool/$neigh/rx/hdr/$pkt"
145 pkts_hdr_excess_old_tx=""
146 for pkt in `randpkts` ; do
147 touch -d $date_old spool/$neigh/tx/hdr/$pkt
148 pkts_hdr_excess_old_tx="$pkts_hdr_excess_old_tx spool/$neigh/tx/hdr/$pkt"
151 pkts_hdr_excess_new_rx=""
152 for pkt in `randpkts` ; do
153 touch spool/$neigh/rx/hdr/$pkt
154 pkts_hdr_excess_new_rx="$pkts_hdr_excess_new_rx spool/$neigh/rx/hdr/$pkt"
157 pkts_hdr_excess_new_tx=""
158 for pkt in `randpkts` ; do
159 touch spool/$neigh/tx/hdr/$pkt
160 pkts_hdr_excess_new_tx="$pkts_hdr_excess_new_tx spool/$neigh/tx/hdr/$pkt"
165 for area in `randpkts` ; do
166 mkdir -p spool/$neigh/area/$area
167 for pkt in `randpkts` ; do
168 touch -d $date_old spool/$neigh/area/$area/$pkt
169 pkts_area_old="$pkts_area_old spool/$neigh/area/$area/$pkt"
171 for pkt in `randpkts` ; do
172 touch spool/$neigh/area/$area/$pkt
173 pkts_area_new="$pkts_area_new spool/$neigh/area/$area/$pkt"
178 for pkt in `randpkts` ; do
179 touch spool/$neigh/rx/$pkt
180 pkts_specified="$pkts_specified spool/$neigh/rx/$pkt"
182 for pkt in `randpkts` ; do
183 touch spool/$neigh/tx/$pkt
184 pkts_specified="$pkts_specified spool/$neigh/tx/$pkt"
186 for pkt in `randpkts` ; do
187 touch spool/$neigh/rx/seen/$pkt
188 pkts_specified="$pkts_specified spool/$neigh/rx/seen/$pkt"
208 $pkts_hdr_excess_old_rx
209 $pkts_hdr_excess_old_tx
210 $pkts_hdr_excess_new_rx
211 $pkts_hdr_excess_new_tx
216 rmcmd="nncp-rm -quiet -cfg cfgdir -all"
222 test_expect_success "Only -pkt" "assert_is_deleted $pkts_specified"
225 test_expect_success "Old -tmp" "assert_is_deleted $pkts_tmp_old"
228 test_expect_success "All -tmp" "assert_is_deleted $pkts_tmp_new"
231 test_expect_success "Old -part" "assert_is_deleted $pkts_old_part"
234 test_expect_success "All -part" "assert_is_deleted $pkts_new_part"
237 test_expect_success "Old -nock" "assert_is_deleted $pkts_old_nock"
240 test_expect_success "All -nock" "assert_is_deleted $pkts_new_nock"
243 test_expect_success "Old -rx" "assert_is_deleted $pkts_old_rx $pkts_old_rx_hdr"
246 test_expect_success "Old -tx" "assert_is_deleted $pkts_old_tx $pkts_old_tx_hdr"
249 test_expect_success "All -rx" "assert_is_deleted $pkts_new_rx $pkts_new_rx_hdr"
252 test_expect_success "All -tx" "assert_is_deleted $pkts_new_tx $pkts_new_tx_hdr"
255 test_expect_success "Old -seen" "assert_is_deleted $pkts_old_seen"
258 test_expect_success "All -seen" "assert_is_deleted $pkts_new_seen"
260 $rmcmd $older -rx -hdr
261 test_expect_success "Old -rx -hdr" "assert_is_deleted $pkts_hdr_excess_old_rx"
263 $rmcmd $older -tx -hdr
264 test_expect_success "Old -tx -hdr" "assert_is_deleted $pkts_hdr_excess_old_tx"
267 test_expect_success "All -rx -hdr" "assert_is_deleted $pkts_hdr_excess_new_rx"
270 test_expect_success "All -tx -hdr" "assert_is_deleted $pkts_hdr_excess_new_tx"
273 test_expect_success "Old -area" "assert_is_deleted $pkts_area_old"
276 test_expect_success "All -area" "assert_is_deleted $pkts_area_new"