1#!/bin/sh 2#- 3# Copyright (c) 2013-2015 Mark R V Murray 4# All rights reserved. 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions 8# are met: 9# 1. Redistributions of source code must retain the above copyright 10# notice, this list of conditions and the following disclaimer 11# in this position and unchanged. 12# 2. Redistributions in binary form must reproduce the above copyright 13# notice, this list of conditions and the following disclaimer in the 14# documentation and/or other materials provided with the distribution. 15# 16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26# 27# 28# Basic script to build crude unit tests. 29# 30# Diff-reduction checking between fortuna and the other algorithm is done like so: 31# 32# $ diff -u -B <(sed -e 's/random_other/random_wombat/g' \ 33# -e 's/RANDOM_OTHER/RANDOM_WOMBAT/g' other_algorithm.c) \ 34# <(sed -e 's/random_fortuna/random_wombat/g' \ 35# -e 's/RANDOM_FORTUNA/RANDOM_WOMBAT/g' fortuna.c) | less 36# 37cc -g -O0 -pthread \ 38 -I../.. -lstdthreads -Wall \ 39 unit_test.c \ 40 other_algorithm.c \ 41 hash.c \ 42 ../../crypto/rijndael/rijndael-api-fst.c \ 43 ../../crypto/rijndael/rijndael-alg-fst.c \ 44 ../../crypto/sha2/sha256c.c \ 45 -lz \ 46 -o other_unit_test 47cc -g -O0 -pthread \ 48 -I../.. -lstdthreads -Wall \ 49 unit_test.c \ 50 fortuna.c \ 51 hash.c \ 52 ../../crypto/rijndael/rijndael-api-fst.c \ 53 ../../crypto/rijndael/rijndael-alg-fst.c \ 54 ../../crypto/sha2/sha256c.c \ 55 -lz \ 56 -o fortuna_unit_test 57