2024-03-07 11:40:54 -06:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
#
|
|
|
|
|
# Sync test scenarios with the pinned version of packse.
|
|
|
|
|
#
|
|
|
|
|
# Usage:
|
|
|
|
|
#
|
|
|
|
|
# Install the pinned packse version in a temporary virtual environment, fetch scenarios, and regenerate test cases and snapshots:
|
|
|
|
|
#
|
2024-04-02 20:59:58 -05:00
|
|
|
# $ ./scripts/sync_scenarios.sh
|
2024-03-07 11:40:54 -06:00
|
|
|
#
|
|
|
|
|
# Additional arguments are passed to `./scripts/scenarios/generate.py`, for example:
|
|
|
|
|
#
|
2024-04-02 20:59:58 -05:00
|
|
|
# $ ./scripts/sync_scenarios.sh --verbose --no-snapshot-update
|
2024-03-07 11:40:54 -06:00
|
|
|
#
|
|
|
|
|
# For development purposes, the `./scripts/scenarios/generate.py` script can be used directly to generate
|
|
|
|
|
# test cases from a local set of scenarios.
|
2024-04-02 20:59:58 -05:00
|
|
|
#
|
|
|
|
|
# See `scripts/scenarios/` for supporting files.
|
2024-03-07 11:40:54 -06:00
|
|
|
set -eu
|
|
|
|
|
|
|
|
|
|
script_root="$(realpath "$(dirname "$0")")"
|
|
|
|
|
|
2024-04-02 18:27:05 -05:00
|
|
|
|
|
|
|
|
cd "$script_root/scenarios"
|
2024-03-07 11:40:54 -06:00
|
|
|
echo "Setting up a temporary environment..."
|
2024-12-18 20:53:34 +01:00
|
|
|
uv venv -p 3.12
|
2024-03-07 11:40:54 -06:00
|
|
|
|
2024-10-08 21:58:00 +03:00
|
|
|
# shellcheck disable=SC1091
|
2024-03-07 11:40:54 -06:00
|
|
|
source ".venv/bin/activate"
|
|
|
|
|
uv pip install -r requirements.txt --refresh-package packse
|
|
|
|
|
|
|
|
|
|
echo "Fetching packse scenarios..."
|
2024-04-02 18:27:05 -05:00
|
|
|
packse fetch --dest "$script_root/scenarios/.downloads" --force
|
2024-03-07 11:40:54 -06:00
|
|
|
|
2024-09-05 10:14:34 +02:00
|
|
|
unset VIRTUAL_ENV # Avoid warning due to venv mismatch
|
|
|
|
|
.venv/bin/python "$script_root/scenarios/generate.py" "$script_root/scenarios/.downloads" "$@"
|
2024-03-07 11:40:54 -06:00
|
|
|
|
|
|
|
|
# Cleanup
|
2024-04-02 18:27:05 -05:00
|
|
|
rm -r "$script_root/scenarios/.downloads"
|