38 lines
1.2 KiB
Bash
Executable File
38 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
: "${PRE15_DUT:?PRE15_DUT is required}"
|
|
: "${PRE15_ROOT:?PRE15_ROOT is required}"
|
|
: "${PRE15_RUN_DIR:?PRE15_RUN_DIR is required}"
|
|
: "${PRE15_LIB_DIR:?PRE15_LIB_DIR is required}"
|
|
. "$PRE15_LIB_DIR/runner.sh"
|
|
|
|
baseline=c750850264cbc3c52ef4407aaf0c8d02ec26e973
|
|
fixture=$PRE15_DUT/tests/pre15/fixtures/B25-codec-errors.json
|
|
oracle=$PRE15_DUT/tests/pre15/fixtures/B25-codec-oracle.py
|
|
artifacts=$PRE15_RUN_DIR/artifacts
|
|
|
|
for tool in cc git python3 sha256sum; do
|
|
command -v "$tool" >/dev/null 2>&1 || \
|
|
pre15_infra_blocked "missing B25 host tool: $tool"
|
|
done
|
|
|
|
pre15_record_fixture b25-case "$PRE15_DUT/tests/pre15/cases/B25-codec-errors.sh"
|
|
pre15_record_fixture b25-fixture "$fixture"
|
|
pre15_record_fixture b25-oracle "$oracle"
|
|
for source in compress.h decompressor.c decompressor_lz4.c \
|
|
decompressor_lzma.c decompressor_deflate.c decompressor_zstd.c zdata.c; do
|
|
pre15_record_fixture "b25-$source" "$PRE15_DUT/src/$source"
|
|
done
|
|
|
|
mkdir -p "$artifacts"
|
|
pre15_target_reached
|
|
|
|
if python3 -B "$oracle" --root "$PRE15_ROOT" --dut "$PRE15_DUT" \
|
|
--baseline "$baseline" --fixture "$fixture" --artifacts "$artifacts"
|
|
then
|
|
pre15_record_fixture b25-report "$artifacts/B25-codec-errors.json"
|
|
else
|
|
pre15_dut_fail 'B25 typed codec errno oracle failed'
|
|
fi
|