From f73c6a5ea958f70deca1a8b63d82d8a4e607be05 Mon Sep 17 00:00:00 2001 From: kaleb-himes Date: Wed, 22 Jul 2015 10:05:39 -0600 Subject: [PATCH] new crl test using server and client instead --- scripts/crl.test | 149 ++++++++++++++++++++--------------------------- 1 file changed, 64 insertions(+), 85 deletions(-) diff --git a/scripts/crl.test b/scripts/crl.test index 2f4c5a9ee..5361e1f27 100755 --- a/scripts/crl.test +++ b/scripts/crl.test @@ -2,74 +2,85 @@ #crl.test -dir="certs/crl" -log_file="tests/unit.log" -result_file="make_test_result.txt" +log_file="scripts/client_result.txt" success_line="err = -361, CRL Cert revoked" -exit_code="0" -allowed_to_run="1" -script_1="testsuite/testsuite.test" -script_2="scripts/*.test" +exit_code="-1" + +crl_port=11113 +no_pid=-1 +server_pid=$no_pid + +function remove_ready_file() { + if test -e /tmp/wolfssl_server_ready; then + echo -e "removing exisitng server_ready file" + rm /tmp/wolfssl_server_ready + fi +} + +# trap this function so if user aborts with ^C or other kill signal we still +# get an exit that will in turn clean up the file system +function abort_trap() { + $exit_code = "-1" + echo "got abort signal, exiting with $exit_code" + exit $exit_code +} +trap abort_trap INT TERM + # trap this function so that if we exit on an error the file system will still # be restored and the other tests may still pass. Never call this function # instead use "exit " and this function will run automatically function restore_file_system() { - move_bad_crl_out - put_in_good_crl + echo "in cleanup" + + if [ $server_pid != $no_pid ] + then + echo "killing server" + kill -9 $server_pid + fi + remove_ready_file } trap restore_file_system EXIT -function can_start() { - - # NICK: need a better way of controlling when this script executes - # I.E. force it to be last or force it to be first - - # grep for any other test scripts that may be running - $allowed_to_run=`ps aux | grep -i "$script_1" | grep -v "grep" | wc -l` - if [ $allowed_to_run -ge 1 ] - then - echo "script is running" - else - echo "script is not running" - fi -} - -function move_good_crl_out() { - if test -e $dir/crl.pem; then - echo "moving good crl out of the way" - mv $dir/crl.pem $dir/crl.unrevoked - else - echo "file not found: $dir/crl.pem" - echo "Please make sure you're running from wolfSSL_root directory" - $exit_code = -1 - echo "exiting with $exit_code" - exit $exit_code - fi -} - -function put_in_bad_crl() { - if test -e $dir/crl.revoked; then - echo "moving crl with server revoked into place" - mv $dir/crl.revoked $dir/crl.pem - else - echo "file not found: $dir/crl.revoked" - echo "Please make sure you're running from wolfSSL_root directory" - $exit_code = -1 - echo "exiting with $exit_code" - exit $exit_code - fi -} - function run_test() { + echo -e "\nStarting example server for crl test...\n" + + remove_ready_file + ./examples/server/server -R -p $crl_port & + server_pid=$! + + while [ ! -s /tmp/wolfssl_server_ready ]; do + echo -e "waiting for server_ready file..." + sleep 0.1 + done + + ./examples/client/client -p $crl_port &> $log_file + client_result=$? + + if [ $client_result != 0 ] + then + echo -e "client failed!" + exit 1 + fi + + wait $server_pid + server_result=$? + + if [ $server_result != 0 ] + then + echo -e "client failed!" + exit 1 + fi + + echo -e "\nSuccess!\n" # NICK: is there a better way then scrubbing the .log file to get the # error code -361 thoughts? #consider how we might abstract this up one layer perhaps a c program. # Redirect stdout and stderr to reduce "noise" - ./testsuite/testsuite.test &> scripts/ignore.txt - rm scripts/ignore.txt +# ./testsuite/testsuite.test &> scripts/ignore.txt +# rm scripts/ignore.txt if test -e $log_file then @@ -83,44 +94,12 @@ function run_test() { fi } -function move_bad_crl_out() { - if test -e $dir/crl.pem; then - echo "moving crl with server revoked out of the way" - mv $dir/crl.pem $dir/crl.revoked - else - echo "file system corrupted. $dir/crl.pem missing after test" - $exit_code = -2 - echo "exiting with $exit_code" - exit $exit_code - fi -} - -function put_in_good_crl() { - if test -e $dir/crl.unrevoked; then - echo "moving good crl back into place" - mv $dir/crl.unrevoked $dir/crl.pem - else - echo "file system corrupted. $dir/crl.unrevoked missing after test" - $exit_code = -2 - echo "exiting with $exit_code" - exit $exit_code - fi -} ######### begin program ######### -# check if testsuite is currently running -#can_start - -# move good crl to crl.unrevoked -move_good_crl_out - -# move revoked crl into place -put_in_bad_crl - # run the test run_test - +$exit_code=0 echo "exiting with $exit_code" exit $exit_code ########## end program ##########