spiegel-keyman/resources/build/test/builder-platform.test.sh

61 lines
1.7 KiB
Bash
Executable file

#!/usr/bin/env bash
set -eu
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../../resources/builder.inc.sh"
# END STANDARD BUILD SCRIPT INCLUDE
. "${THIS_SCRIPT_PATH}/test-utils.inc.sh"
# Test overrides which disable win, delphi
BUILDER_PLATFORM_OVERRIDE=linux
BUILDER_TOOLS_OVERRIDE=
builder_describe \
"Tests platform requirements" \
build \
:linux-project \
:mac-project \
:win-project \
:delphi-project
builder_describe_platform \
:linux-project linux \
:mac-project mac \
:win-project win \
:delphi-project win,delphi
assert-equal "${_builder_targets[*]}" ":linux-project" "_builder_targets"
# seems bash associative array order is unstable? so sort array for test
readarray -t btebp_sorted < <(printf '%s\n' "${!_builder_targets_excluded_by_platform[@]}" | sort)
assert-equal "${btebp_sorted[*]}" ":delphi-project :mac-project :win-project" "_builder_targets_excluded_by_platform"
# Test overrides with enable win, delphi
BUILDER_PLATFORM_OVERRIDE=win
BUILDER_TOOLS_OVERRIDE=(delphi)
builder_describe \
"Tests platform requirements" \
build \
:linux-project \
:mac-project \
:win-project \
:delphi-project
builder_describe_platform \
:linux-project linux \
:mac-project mac \
:win-project win \
:delphi-project win,delphi
readarray -t bt_sorted < <(printf '%s\n' "${_builder_targets[@]}" | sort)
assert-equal "${bt_sorted[*]}" ":delphi-project :win-project" "_builder_targets"
readarray -t btebp_sorted < <(printf '%s\n' "${!_builder_targets_excluded_by_platform[@]}" | sort)
assert-equal "${btebp_sorted[*]}" ":linux-project :mac-project" "_builder_targets_excluded_by_platform"