#!/bin/bash # hazuki_test.sh - Don Yang (uguu.org) # # 06/09/12 OUTPUT=test_output TODAY=$(date +'%Y-%m-%d') KEYFILE=$OUTPUT/hazuki.key set -e mkdir -p $OUTPUT function encrypt_and_compare() { ./hazuki $TODAY $KEYFILE $OUTPUT/hazuki.in $OUTPUT/hazuki.enc ./hazuki $KEYFILE $OUTPUT/hazuki.enc $OUTPUT/hazuki.dec cmp $OUTPUT/hazuki.in $OUTPUT/hazuki.dec cat $OUTPUT/hazuki.in \ | ./hazuki $TODAY $KEYFILE - - \ | ./hazuki $KEYFILE - - > $OUTPUT/hazuki.dec cmp $OUTPUT/hazuki.in $OUTPUT/hazuki.dec cat $OUTPUT/hazuki.in | ./hazuki $TODAY $KEYFILE - $OUTPUT/hazuki.enc cat $OUTPUT/hazuki.enc | ./hazuki $KEYFILE - $OUTPUT/hazuki.dec cmp $OUTPUT/hazuki.in $OUTPUT/hazuki.dec cat $OUTPUT/hazuki.in \ | ./hazuki $TODAY $KEYFILE - \ | ./hazuki $KEYFILE - > $OUTPUT/hazuki.dec cmp $OUTPUT/hazuki.in $OUTPUT/hazuki.dec cat $OUTPUT/hazuki.in \ | ./hazuki $TODAY $KEYFILE \ | ./hazuki $KEYFILE > $OUTPUT/hazuki.dec cmp $OUTPUT/hazuki.in $OUTPUT/hazuki.dec } function run_small_test() { echo -n "$1" > $OUTPUT/hazuki.in encrypt_and_compare } function run_large_test() { perl -e "for(\$i=0;\$i<$1;\$i++){print 'X';}" > $OUTPUT/hazuki.in encrypt_and_compare } function run_large_random_test() { perl -e "for(\$i=0;\$i<$1;\$i++){print chr(int(rand 256));}" > \ $OUTPUT/hazuki.in encrypt_and_compare } echo "key" > $KEYFILE run_small_test "0" run_small_test "111111111111111" run_small_test "1111111111111111" run_small_test "11111111111111112" run_small_test "11111111111111112222222222222222" run_small_test "1111111111111111222222222222222233" run_small_test "111111111111111122222222222222223333" run_small_test "11111111111111112222222222222222333333" run_small_test "1111111111111111222222222222222233333333333333334444" run_small_test "0000000011111111222222223333333" run_small_test "00000000111111112222222233333333" run_small_test "0000111122223333444455556666777" run_small_test "00001111222233334444555566667777" run_small_test "00112233445566778899aabbccddeef" run_small_test "00112233445566778899aabbccddeeff" run_small_test "0123456789abcdefFEDCBA987654321" run_small_test "0123456789abcdefFEDCBA9876543210" run_large_test 0x3fef run_large_test 0x3ff0 run_large_test 0x3ff1 run_large_test 0x3fff run_large_test 0x4000 run_large_test 0x4001 run_large_test 0x4010 run_large_test 0x4011 run_large_test 0x10000 run_large_test 0x100000 run_large_random_test 0x3fef run_large_random_test 0x3ff0 run_large_random_test 0x3ff1 run_large_random_test 0x3fff run_large_random_test 0x4000 run_large_random_test 0x4001 run_large_random_test 0x4010 run_large_random_test 0x4011 run_large_random_test 0x10000 run_large_random_test 0x100000