2019-10-15 02:20:42 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
PWD_DIR=$(pwd)
|
|
|
|
function cleanup {
|
|
|
|
cd "$PWD_DIR"
|
|
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
|
|
|
|
#############################################################################
|
|
|
|
|
|
|
|
GREP=grep
|
|
|
|
SED=sed
|
|
|
|
AWK=awk
|
|
|
|
MAKE=make
|
|
|
|
|
|
|
|
# Fixup, Solaris and friends
|
|
|
|
if [[ (-d /usr/xpg4/bin) ]]; then
|
|
|
|
SED=/usr/xpg4/bin/sed
|
|
|
|
AWK=/usr/xpg4/bin/awk
|
|
|
|
GREP=/usr/xpg4/bin/grep
|
|
|
|
elif [[ (-d /usr/bin/posix) ]]; then
|
|
|
|
SED=/usr/bin/posix/sed
|
|
|
|
AWK=/usr/bin/posix/awk
|
|
|
|
GREP=/usr/bin/posix/grep
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Fixup for sed and "illegal byte sequence"
|
|
|
|
IS_DARWIN=$(uname -s | "$GREP" -i -c darwin)
|
|
|
|
if [[ "$IS_DARWIN" -ne 0 ]]; then
|
|
|
|
export LC_ALL=C
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Fixup for Solaris and BSDs
|
|
|
|
if [[ ! -z $(command -v gmake) ]]; then
|
|
|
|
MAKE=gmake
|
|
|
|
else
|
|
|
|
MAKE=make
|
|
|
|
fi
|
|
|
|
|
|
|
|
#############################################################################
|
|
|
|
|
|
|
|
if [[ -z $(command -v "$MAKE") ]]; then
|
|
|
|
echo "Cannot find $MAKE. Things may fail."
|
|
|
|
fi
|
|
|
|
|
2019-10-15 02:31:58 +00:00
|
|
|
if [[ -z $(command -v curl) ]]; then
|
|
|
|
echo "Cannot find cURL. Things may fail."
|
|
|
|
fi
|
|
|
|
|
2019-10-15 02:39:38 +00:00
|
|
|
if [[ -z $(command -v openssl) ]]; then
|
|
|
|
echo "Cannot find openssl. Things may fail."
|
|
|
|
fi
|
|
|
|
|
2019-10-15 02:20:42 +00:00
|
|
|
#############################################################################
|
|
|
|
|
2020-08-26 06:29:15 +00:00
|
|
|
files=(pem_create.sh pem_verify.sh pem_test.cxx pem_eol.cxx
|
2019-10-15 02:20:42 +00:00
|
|
|
pem.h pem_common.cpp pem_common.h pem_read.cpp pem_write.cpp
|
2020-08-26 04:28:12 +00:00
|
|
|
x509cert.h x509cert.cpp)
|
2019-10-15 02:20:42 +00:00
|
|
|
|
|
|
|
for file in "${files[@]}"; do
|
|
|
|
echo "Downloading $file"
|
2021-02-05 08:56:14 +00:00
|
|
|
if ! curl -o "$file" --silent "https://raw.githubusercontent.com/noloader/cryptopp-pem/master/$file"; then
|
2019-10-15 02:20:42 +00:00
|
|
|
echo "$file download failed"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
# Add execute to scripts
|
|
|
|
chmod +x *.sh
|
|
|
|
|
2019-10-15 02:31:58 +00:00
|
|
|
if [[ "$IS_DARWIN" -ne 0 ]] && [[ -n $(command -v xattr) ]]; then
|
|
|
|
echo "Removing pem_create.sh pem_verify.sh quarantine"
|
|
|
|
xattr -d "com.apple.quarantine" pem_create.sh pem_verify.sh &>/dev/null
|
|
|
|
fi
|
|
|
|
|
2019-10-15 02:20:42 +00:00
|
|
|
#############################################################################
|
|
|
|
|
2019-10-15 02:39:38 +00:00
|
|
|
echo ""
|
2019-10-15 02:34:32 +00:00
|
|
|
echo "Building test artifacts"
|
|
|
|
echo ""
|
|
|
|
|
2019-10-15 02:39:38 +00:00
|
|
|
"$MAKE" clean &>/dev/null
|
|
|
|
|
2019-10-15 02:20:42 +00:00
|
|
|
if ! "$MAKE" -j 2; then
|
|
|
|
echo "make failed."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! ./cryptest.exe v; then
|
|
|
|
echo "cryptest v failed."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! ./pem_create.sh; then
|
|
|
|
echo "pem_create.sh failed."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! ./pem_verify.sh; then
|
|
|
|
echo "pem_verify.sh failed."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Return success
|
|
|
|
exit 0
|