#!/bin/bash exname=$(basename $0) compose_core=$(which compose-core) || { echo "Requires compose-core executable to be in \$PATH." >&2 exit 1 } fetch-def() { local path="$1" fname="$2" ( . "$path" 1>&2 || { echo "Failed to load '$path'." >&2 exit 1 } declare -f "$fname" ) } prefix_cmd=" . /etc/shlib include common include parse . ../lib/common $(fetch-def "$compose_core" yaml_get_values) $(fetch-def "$compose_core" yaml_get_interpret) " || { echo "Couldn't build prefix cmd" >&2 exit 1 } # mock cfg-get-value() { local key="$1" shyaml get-value "$key" 2>/dev/null } export -f cfg-get-value yaml_get_interpret() { shyaml get-value } export -f yaml_get_interpret ## ## Tests ## try " _get_custom_rules ' '" noerror is out '' try " _get_custom_rules ' apache-custom-rules: '" noerror is out '' try " _get_custom_rules ' apache-custom-rules: - a - b '" noerror is out 'a b' try " _get_custom_rules ' apache-custom-rules: a: x b: y '" noerror is out ' x y'