1#!/bin/bash 2 3# Copyright (c) 2014, Google Inc. 4# 5# Permission to use, copy, modify, and/or distribute this software for any 6# purpose with or without fee is hereby granted, provided that the above 7# copyright notice and this permission notice appear in all copies. 8# 9# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 12# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 14# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 15# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ 16 17SRC=.. 18if [ "$#" -ge 1 ]; then 19 SRC=$1 20fi 21 22TESTS=" 23./crypto/base64/base64_test 24./crypto/bio/bio_test 25./crypto/bn/bn_test 26./crypto/bytestring/bytestring_test 27./crypto/cipher/aead_test aes-128-gcm $SRC/crypto/cipher/aes_128_gcm_tests.txt 28./crypto/cipher/aead_test aes-128-key-wrap $SRC/crypto/cipher/aes_128_key_wrap_tests.txt 29./crypto/cipher/aead_test aes-256-gcm $SRC/crypto/cipher/aes_256_gcm_tests.txt 30./crypto/cipher/aead_test aes-256-key-wrap $SRC/crypto/cipher/aes_256_key_wrap_tests.txt 31./crypto/cipher/aead_test chacha20-poly1305 $SRC/crypto/cipher/chacha20_poly1305_tests.txt 32./crypto/cipher/aead_test rc4-md5 $SRC/crypto/cipher/rc4_md5_tests.txt 33./crypto/cipher/cipher_test $SRC/crypto/cipher/cipher_test.txt 34./crypto/dh/dh_test 35./crypto/dsa/dsa_test 36./crypto/ec/example_mul 37./crypto/ecdsa/ecdsa_test 38./crypto/err/err_test 39./crypto/evp/example_sign 40./crypto/hmac/hmac_test 41./crypto/lhash/lhash_test 42./crypto/md5/md5_test 43./crypto/modes/gcm_test 44./crypto/pkcs8/pkcs12_test 45./crypto/rsa/rsa_test 46./crypto/sha/sha1_test 47./crypto/x509/pkcs7_test 48./crypto/x509v3/tab_test 49./crypto/x509v3/v3name_test 50./ssl/pqueue/pqueue_test 51./ssl/ssl_test 52" 53 54IFS=$'\n' 55for bin in $TESTS; do 56 echo $bin 57 out=$(/bin/bash -c "$bin" | tail -n 1) 58 if [ $? -ne 0 ]; then 59 echo $bin failed to complete. 60 exit 1 61 fi 62 63 if [ "x$out" != "xPASS" ]; then 64 echo $bin failed to print PASS on the last line. 65 exit 1 66 fi 67done 68