zupt/tests/test_kdf_transparency.sh
2026-08-31 14:14:36 -03:00

44 lines
1.4 KiB
Shell
Executable file

#!/bin/bash
# SPDX-License-Identifier: AGPL-3.0-or-later
# Copyright (c) 2025-2026 Cristian Cezar Moisés
#
# F-15 — Argon2id KDF parameter transparency (v3.4.0).
# Builds and runs tests/test_kdf_transparency.c against a system libvuptsdk.
set -u
SDK_CFLAGS=${SDK_CFLAGS:-}
SDK_LIBS=${SDK_LIBS:-}
if [ -z "$SDK_CFLAGS$SDK_LIBS" ] && command -v pkg-config >/dev/null 2>&1 && \
pkg-config --exists libvuptsdk; then
SDK_CFLAGS=$(pkg-config --cflags libvuptsdk)
SDK_LIBS=$(pkg-config --libs libvuptsdk)
fi
if [ -z "$SDK_LIBS" ]; then
echo " SKIP: system libvuptsdk development package unavailable"
exit 0
fi
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i686" ]; then
SHANI="-msha -mssse3 -msse4.1"
else
SHANI=""
fi
TMP=$(mktemp -d)
# shellcheck disable=SC2086 # SDK flags intentionally expand to compiler words.
if "${CC:-cc}" -Iinclude -Isrc $SDK_CFLAGS -Wall -Wextra -Werror $SHANI -O2 -std=c11 \
tests/test_kdf_transparency.c \
src/zupt_crypto_sdk.c src/zupt_crypto.c src/zupt_sha256.c src/zupt_sha256_shani.c \
src/zupt_aes256.c src/zupt_xxh.c src/zupt_keccak.c src/zupt_x25519.c \
src/zupt_mlkem.c src/zupt_cpuid.c src/zupt_mlock.c \
$SDK_LIBS -lm \
-o "$TMP/t" 2>"$TMP/cc.log"; then
"$TMP/t"; rc=$?
else
echo " ✗ KDF-transparency test failed to compile"
head -15 "$TMP/cc.log" | sed 's/^/ /'
rc=1
fi
rm -rf "$TMP"
exit $rc