mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 02:29:55 +02:00
52 lines
1.1 KiB
Bash
Executable File
52 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
resolver="$script_dir/resolve-version.sh"
|
|
scratch="$(mktemp -d)"
|
|
trap 'rm -rf "$scratch"' EXIT
|
|
|
|
write_version() {
|
|
printf '%s\n' \
|
|
"PRODUCT_VERSION=$1" \
|
|
"RELEASE_CHANNEL=$2" \
|
|
"ANDROID_VERSION_CODE=$3" \
|
|
"APPLE_BUILD_NUMBER=$4" \
|
|
"WINDOWS_VERSION_EPOCH=$5" \
|
|
> "$scratch/version.properties"
|
|
}
|
|
|
|
resolve() {
|
|
VNIDROP_VERSION_FILE="$scratch/version.properties" "$resolver" "$@"
|
|
}
|
|
|
|
expect_failure() {
|
|
if "$@" >/dev/null 2>&1; then
|
|
printf 'Expected command to fail: %s\n' "$*" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
write_version 0.2.0 beta 2 2 1
|
|
[[ $(resolve product) == 0.2.0 ]]
|
|
[[ $(resolve android-code) == 2 ]]
|
|
[[ $(resolve apple-build) == 2 ]]
|
|
[[ $(resolve windows-package) == 1.2.0.0 ]]
|
|
resolve verify-tag v0.2.0
|
|
expect_failure resolve verify-tag v1.0.0
|
|
|
|
write_version 1.0.0 stable 42 42 1
|
|
[[ $(resolve windows-package) == 2.0.0.0 ]]
|
|
|
|
write_version 01.0.0 beta 2 2 1
|
|
expect_failure resolve verify
|
|
|
|
write_version 0.2.0 beta 0 2 1
|
|
expect_failure resolve verify
|
|
|
|
write_version 65535.0.0 stable 2 2 1
|
|
expect_failure resolve verify
|
|
|
|
printf 'Version resolver tests passed.\n'
|