X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=t%2Fnncp-rm.t;fp=t%2Fnncp-rm.t;h=aa7cc83d3926c0e478a3e7c79b5c166a19fd11ab;hb=a62ea6902fb8751501a724bd20db4baddadc7dba;hp=0000000000000000000000000000000000000000;hpb=7696544068749db54f07c21cd658557905302fe4;p=nncp.git diff --git a/t/nncp-rm.t b/t/nncp-rm.t new file mode 100755 index 0000000..aa7cc83 --- /dev/null +++ b/t/nncp-rm.t @@ -0,0 +1,278 @@ +#!/bin/sh + +testname=`basename "$0"` +test_description="nncp-rm's behaviour" +. $SHARNESS_TEST_SRCDIR/sharness.sh + +rand32() { + perl <&2 + return 1 + fi + done + local pkts="" + for pkt in `pkts_remove $@` ; do + if ! [ -e $pkt ] ; then + echo unexpectedly removed: $pkt >&2 + return 1 + fi + pkts="$pkts $pkt" + done + PKTS="$pkts" +} + +now=`date +%s` +nncp-cfgnew > cfg +nncp-cfgdir -cfg cfg -dump cfgdir +echo "$PWD/spool" > cfgdir/spool +echo "$PWD/log" > cfgdir/log +neigh=`rand32` +mkdir -p cfgdir/neigh/neigh +for w in id exchpub signpub ; do echo $neigh > cfgdir/neigh/neigh/$w ; done +mkdir -p spool/tmp spool/$neigh/rx/hdr spool/$neigh/rx/seen spool/$neigh/tx/hdr +date_old=$(date -j -f %s +%FT%T $(( $now - (3600 * 24 * 7) ))) + +pkts_old_rx="" +pkts_old_rx_hdr="" +for pkt in `randpkts` ; do + touch -d $date_old spool/$neigh/rx/$pkt spool/$neigh/rx/hdr/$pkt + pkts_old_rx="$pkts_old_rx spool/$neigh/rx/$pkt" + pkts_old_rx_hdr="$pkts_old_rx_hdr spool/$neigh/rx/hdr/$pkt" +done + +pkts_old_tx="" +pkts_old_tx_hdr="" +for pkt in `randpkts` ; do + touch -d $date_old spool/$neigh/tx/$pkt spool/$neigh/tx/hdr/$pkt + pkts_old_tx="$pkts_old_tx spool/$neigh/tx/$pkt" + pkts_old_tx_hdr="$pkts_old_tx_hdr spool/$neigh/tx/hdr/$pkt" +done + +pkts_old_part="" +for pkt in `randpkts` ; do + touch -d $date_old spool/$neigh/rx/$pkt.part + pkts_old_part="$pkts_old_part spool/$neigh/rx/$pkt.part" +done + +pkts_old_nock="" +for pkt in `randpkts` ; do + touch -d $date_old spool/$neigh/rx/$pkt.nock + pkts_old_nock="$pkts_old_nock spool/$neigh/rx/$pkt.nock" +done + +pkts_old_seen="" +for pkt in `randpkts` ; do + touch -d $date_old spool/$neigh/rx/seen/$pkt + pkts_old_seen="$pkts_old_seen spool/$neigh/rx/seen/$pkt" +done + +pkts_new_rx="" +pkts_new_rx_hdr="" +for pkt in `randpkts` ; do + touch spool/$neigh/rx/$pkt spool/$neigh/rx/hdr/$pkt + pkts_new_rx="$pkts_new_rx spool/$neigh/rx/$pkt" + pkts_new_rx_hdr="$pkts_new_rx_hdr spool/$neigh/rx/hdr/$pkt" +done + +pkts_new_tx="" +pkts_new_tx_hdr="" +for pkt in `randpkts` ; do + touch spool/$neigh/tx/$pkt spool/$neigh/tx/hdr/$pkt + pkts_new_tx="$pkts_new_tx spool/$neigh/tx/$pkt" + pkts_new_tx_hdr="$pkts_new_tx_hdr spool/$neigh/tx/hdr/$pkt" +done + +pkts_new_part="" +for pkt in `randpkts` ; do + touch spool/$neigh/rx/$pkt.part + pkts_new_part="$pkts_new_part spool/$neigh/rx/$pkt.part" +done + +pkts_new_nock="" +for pkt in `randpkts` ; do + touch spool/$neigh/rx/$pkt.nock + pkts_new_nock="$pkts_new_nock spool/$neigh/rx/$pkt.nock" +done + +pkts_new_seen="" +for pkt in `randpkts` ; do + touch spool/$neigh/rx/seen/$pkt + pkts_new_seen="$pkts_new_seen spool/$neigh/rx/seen/$pkt" +done + +pkts_tmp_old="" +for pkt in `randpkts` ; do + touch -d $date_old spool/tmp/$pkt + pkts_tmp_old="$pkts_tmp_old spool/tmp/$pkt" +done + +pkts_tmp_new="" +for pkt in `randpkts` ; do + touch spool/tmp/$pkt + pkts_tmp_new="$pkts_tmp_new spool/tmp/$pkt" +done + +pkts_hdr_excess_old_rx="" +for pkt in `randpkts` ; do + touch -d $date_old spool/$neigh/rx/hdr/$pkt + pkts_hdr_excess_old_rx="$pkts_hdr_excess_old_rx spool/$neigh/rx/hdr/$pkt" +done + +pkts_hdr_excess_old_tx="" +for pkt in `randpkts` ; do + touch -d $date_old spool/$neigh/tx/hdr/$pkt + pkts_hdr_excess_old_tx="$pkts_hdr_excess_old_tx spool/$neigh/tx/hdr/$pkt" +done + +pkts_hdr_excess_new_rx="" +for pkt in `randpkts` ; do + touch spool/$neigh/rx/hdr/$pkt + pkts_hdr_excess_new_rx="$pkts_hdr_excess_new_rx spool/$neigh/rx/hdr/$pkt" +done + +pkts_hdr_excess_new_tx="" +for pkt in `randpkts` ; do + touch spool/$neigh/tx/hdr/$pkt + pkts_hdr_excess_new_tx="$pkts_hdr_excess_new_tx spool/$neigh/tx/hdr/$pkt" +done + +pkts_area_old="" +pkts_area_new="" +for area in `randpkts` ; do + mkdir -p spool/$neigh/area/$area + for pkt in `randpkts` ; do + touch -d $date_old spool/$neigh/area/$area/$pkt + pkts_area_old="$pkts_area_old spool/$neigh/area/$area/$pkt" + done + for pkt in `randpkts` ; do + touch spool/$neigh/area/$area/$pkt + pkts_area_new="$pkts_area_new spool/$neigh/area/$area/$pkt" + done +done + +pkts_specified="" +for pkt in `randpkts` ; do + touch spool/$neigh/rx/$pkt + pkts_specified="$pkts_specified spool/$neigh/rx/$pkt" +done +for pkt in `randpkts` ; do + touch spool/$neigh/tx/$pkt + pkts_specified="$pkts_specified spool/$neigh/tx/$pkt" +done +for pkt in `randpkts` ; do + touch spool/$neigh/rx/seen/$pkt + pkts_specified="$pkts_specified spool/$neigh/rx/seen/$pkt" +done + +PKTS=" +$pkts_old_rx +$pkts_old_rx_hdr +$pkts_old_tx +$pkts_old_tx_hdr +$pkts_old_part +$pkts_old_nock +$pkts_old_seen +$pkts_new_rx +$pkts_new_rx_hdr +$pkts_new_tx +$pkts_new_tx_hdr +$pkts_new_part +$pkts_new_nock +$pkts_new_seen +$pkts_tmp_old +$pkts_tmp_new +$pkts_hdr_excess_old_rx +$pkts_hdr_excess_old_tx +$pkts_hdr_excess_new_rx +$pkts_hdr_excess_new_tx +$pkts_area_old +$pkts_area_new +$pkts_specified +" +rmcmd="nncp-rm -quiet -cfg cfgdir -all" +older="-older 6d" + +$rmcmd -pkt <