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# $FreeBSD$ 28# 29# Basic script to build crude unit tests. 30# 31# Diff-reduction checking between Yarrow and fortuna is done like so: 32# 33# $ diff -u -B <(sed -e 's/yarrow/wombat/g' \ 34# -e 's/YARROW/WOMBAT/g' yarrow.c) \ 35# <(sed -e 's/fortuna/wombat/g' \ 36# -e 's/FORTUNA/WOMBAT/g' fortuna.c) | less 37# 38cc -g -O0 -pthread \ 39 -I../.. -lstdthreads -Wall \ 40 unit_test.c \ 41 yarrow.c \ 42 hash.c \ 43 ../../crypto/rijndael/rijndael-api-fst.c \ 44 ../../crypto/rijndael/rijndael-alg-fst.c \ 45 ../../crypto/sha2/sha256c.c \ 46 -lz \ 47 -o yunit_test 48cc -g -O0 -pthread \ 49 -I../.. -lstdthreads -Wall \ 50 unit_test.c \ 51 fortuna.c \ 52 hash.c \ 53 ../../crypto/rijndael/rijndael-api-fst.c \ 54 ../../crypto/rijndael/rijndael-alg-fst.c \ 55 ../../crypto/sha2/sha256c.c \ 56 -lz \ 57 -o funit_test 58