#!/bin/bash test_tmp=`tempfile` export test_tmp export LC_ALL=C opt_tester() { opt="$@" tmp=$(tempfile) test_2search() { xargs echo Search in < $tmp 2search $opt $tmp 0 2 2.1 100000 2search $opt -B $tmp 0 2 2.1 100000 } (true) | sort $opt > $tmp echo Search in null file test_2search (echo) | sort $opt > $tmp echo Search in newline test_2search (echo 1.000000000) | sort $opt > $tmp test_2search (echo 1.000000000; echo 2) | sort $opt > $tmp test_2search (echo 1; echo 2.000000000) | sort $opt > $tmp test_2search (echo 1.000000000; echo 2; echo 3) | sort $opt > $tmp test_2search (echo 1; echo 2.000000000; echo 3) | sort $opt > $tmp test_2search (echo 1; echo 2; echo 3.000000000) | sort $opt > $tmp test_2search rm $tmp } export -f opt_tester test_n() { tmp=${test_tmp}_n true > $tmp echo Search in null file 2search -n $tmp 0 2 2.1 100000 2search -nB $tmp 0 2 2.1 100000 echo > $tmp xargs echo Search in newline 2search -n $tmp 0 2 2.1 100000 2search -nB $tmp 0 2 2.1 100000 echo 1.000000000 > $tmp xargs echo Search in < $tmp 2search -n $tmp 0 2 2.1 100000 2search -nB $tmp 0 2 2.1 100000 echo 1.000000000 > $tmp echo 2 >> $tmp xargs echo Search in < $tmp 2search -n $tmp 0 2 2.1 100000 2search -nB $tmp 0 2 2.1 100000 echo 1 > $tmp echo 2.000000000 >> $tmp xargs echo Search in < $tmp 2search -n $tmp 0 2 2.1 100000 2search -nB $tmp 0 2 2.1 100000 echo 1.000000000 > $tmp echo 2 >> $tmp echo 3 >> $tmp xargs echo Search in < $tmp 2search -n $tmp 0 2 2.1 100000 2search -nB $tmp 0 2 2.1 100000 echo 1 > $tmp echo 2.000000000 >> $tmp echo 3 >> $tmp xargs echo Search in < $tmp 2search -n $tmp 0 2 2.1 100000 2search -nB $tmp 0 2 2.1 100000 echo 1 > $tmp echo 2 >> $tmp echo 3.000000000 >> $tmp xargs echo Search in < $tmp 2search -n $tmp 0 2 2.1 100000 2search -nB $tmp 0 2 2.1 100000 rm $tmp } test_n_opt() { opt_tester -n } test_rn_opt() { opt_tester -rn } test_r_opt() { opt_tester -r } test_k3N_2N_1n() { tmp=$(tempfile) cat >$tmp < $tmp echo '### 2search --grep' 2search --grep $tmp 3 echo '### 2grep' 2grep $tmp 3 echo '### ... | 2grep' echo 3 | 2grep $tmp rm $tmp } test_recstart() { tmp=$(tempfile) cat >$tmp <sp|O14683|P5I11_HUMAN Tumor protein p53-inducible protein 11 MIHNYMEHLERTKLHQLSGSDQLESTAHSRIRKERPISLGIFPLPAGDGLLTPDAQKGGET PGSEQWKFQELSQPRSHTSLKVSNSPEPQKAVEQEDELSDVSQGGSKATTPASTANSDVAT IPTDTPLKEENEGFVKVTDAPNKSEISKHIEVQVAQETRNVSTGSAENEEKSEVQAIIEST PELDMDKDLSGYKGSSTPTKGIENKAFDRNTESLFEELSSAGSGLIGDVDEGADLLGMGRE VENLILENTQLLETKNALNIVKNDLIAKVDELTCEKDVLQGELEAVKQAKLKLEEKNRELE EELRKARAEAEDARQKAKDDDDSDIPTAQRKRFTRVEMARVLMERNQYKERLMELQEAVRW TEMIRASRENPAMQEKKRSSIWQFFSRLFSSSSNTTKKPEPPVNLKYNAPTSHVTPSVX >sp|P04637|P53_HUMAN Cellular IQVVSRCRLRHTEVLPAEEENDSLGADGT PQLX >sp|P10144|GRAB_HUMAN Granzyme B OS=Homo sapiens OX=9606 MQPILLLLAFLLLPRADAGEIIGGHEAKPHSRPYMAYLMIWDQKSLKRCGGFLIRD WGSSINVTLGAHNIKEQEPTQQFIPVKRPIPHPAYNPKNFSNDIMLLQLERKAKRT SNKAQVKPGQTCSVAGWGQTAPLGKHSHTLQEVKMTVQEDRKCEX >sp|P13674|P4HA1_HUMAN Prolyl VECCPNCRGTGMQIRIHQIGPGMVQQIQS DGQKITFHGEGDQEPGLEPGDIIIVLDQK SHPGQIVKHGDIKCVLNEGMX >sp|Q06416|P5F1B_HUMAN Putative POU domain, class 5, transc IVVKGHSTCLSEGALSPDGTVLATASHDGYVKFWQIYIEGQDEPRCLHEWKP HDGRPLSCLLFCDNHKKQDPDVPFWRFLITGADQNRELKMWCTVSWTCLQTI RFSPDIFSSVSVPPSLKVCLDLSAEYLILSDVQRKVLYVMELLQNQEEGHAC FSSISEFLLTHPVLSFGIQVVSRCRLRHTEVLPAEEENDSLGADGTHGAGAX >sp|Q7Z4N8|P4HA3_HUMAN MTEQMTLRGTLKGHNGWVTQIA YGIPQRALRGHSHFVSDVVISS GHTKDVLSVAFSSDNRQIVSGS VRFSPNSSNPIIVSX >sp|Q96A73|P33MX_HUMAN Putative RNDDDDTSVCLGTRQCSWFAGCTNRTWNSSA VPLIGLPNTQDYKWVDRNSGLTWSGNDTCLY SCQNQTKGLLYQLFRNLFCSYGLTEAHGKWR CADASITNDKGHDGHRTPTWWLTGSNLTLSV NNSGLFFLCGNGVYKGFPPKWSGRCGLGYLV PSLTRYLTLNASQITNLRSFIHKVTPHRX >sp|Q9UHX1|PUF60_HUMAN Poly(U)-binding-splicing MGKDYYQTLGLARGASDEEIKRAYRRQALRYHPDKNKEPGAEEKFKE IAEAYDVLSDPRKREIFDRYGEEGLKGSGPSGGSGGGANGTSFSYTF HGDPHAMFAEFFGGRNPFDTFFGQRNGEEGMDIDDPFSGFPMGMGGF TNVNFGRSRSAQEPARKKQDPPVTHDLX EOF echo "--regstart" echo start 2search -t '\|' -k2 --recstart '>' $tmp O14683 echo middle 2search -t '\|' -k2 --recstart '>' --recend '' $tmp Q96A73 echo end 2search -t '\|' -k2 --recstart '>' $tmp Q9UHX1 echo "--regstart + --regend" echo start 2search -t '\|' -k2 --recstart '>' --recend '\n' $tmp O14683 echo middle 2search -t '\|' -k2 --recstart '>' --recend '\n' $tmp Q96A73 echo end 2search -t '\|' -k2 --recstart '>' --recend '\n' $tmp Q9UHX1 rm $tmp } export -f $(compgen -A function | grep test_) compgen -A function | grep test_ | sort | parallel -j6 --tag -k '{} 2>&1' > regressiontest.new diff -Naur regressiontest.new regressiontest.out