unstructured/test_unstructured_ingest/check-num-files-expected-output.sh
ryannikolaidis 62e20442df
chore: refactor ingest tests (#814)
- Adds reusable validation scripts (check-x.sh) to minimize repeated (or near-repeated) code and create one source of truth
- Restructures the location of download and output folders such that they are nested in the test_unstructured_ingest directory
- Adds gitignore for output folders / files to avoid them accidentally getting checked into the repository
- Construct paths as reusable variables declared at top of scripts
- Sort order of flag for ingest calls, across all tests (this makes it easier to parse at a glance)
- OVERWRITE_FIXTURES removes all old fixtures for path to guarantee no stale results are left behind
- Bonus: don't check/exit on expected number of expected outputs when OVERWRITE_FIXTURES is true
- Bonus: exclude file_directory from Slack and Discord test scripts (match convention in all others)
2023-06-29 23:13:41 +00:00

25 lines
977 B
Bash

#!/usr/bin/env bash
# Description: Validate that the number of files in the output directory is as expected.
#
# Arguments:
# - $1: The expected number of files in the output directory.
# - $2: Name of the output folder. This is used to determine the output directory and the expected output directory paths.
# - $3: The expected size of the output directory in bytes (e.g. "10k").
set +e
EXPECTED_NUM_FILES=$1
OUTPUT_FOLDER_NAME=$2
EXPECTED_SIZE=$3
SCRIPT_DIR=$(dirname "$(realpath "$0")")
EXPECTED_OUTPUT_DIR=$SCRIPT_DIR/expected-structured-output/$OUTPUT_FOLDER_NAME
NUM_FILES=$(find "$EXPECTED_OUTPUT_DIR" -type f -size +"$EXPECTED_SIZE" | wc -l)
if [[ "$NUM_FILES" -ne "$EXPECTED_NUM_FILES" && "$OVERWRITE_FIXTURES" == "false" ]]; then
echo "The test fixtures in $EXPECTED_OUTPUT_DIR look suspicious."
echo "Expected $EXPECTED_NUM_FILES files, but found $NUM_FILES files found."
echo "Did you overwrite test fixtures with bad outputs?"
exit 1
fi