12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/bin/bash
-
- enum_tests() {
- echo "import_fn"
- echo "import_var"
- echo "import_var_fn"
- echo "import_submodule"
- }
-
- ignored() {
- echo declare -f ffoo
- echo FFOO_DEBUG
- echo FFOO_DEBUGINIT
- echo FFOO_DIR
- echo FFOO_INCLUDE
- echo FFOO_MKPRETTY
- echo FFOO_VERBOSE
- echo FFOO_VERSION
- }
-
- do_test() {
- local name=$1
- echo "(set -o posix; set) | grep -e '^[a-zA-Z_]' | sed -e 's/=.*//' >> $name.before" >> $name.sh
- echo "declare -F >> $name.before" >> $name.sh
- cat "$name" >> $name.sh
- echo "(set -o posix; set) | grep -e '^[a-zA-Z_]' | sed -e 's/=.*//' >> $name.after" >> $name.sh
- echo "declare -F >> $name.after" >> $name.sh
- sed -i -e "s|\\<ffoom\\>|$ffoom_path|" $name.sh
- env -i bash "$name.sh"
- comm -13 <(sort "$name.before" | grep -vf _ignored_) <(sort "$name.after" | grep -vf _ignored_) > "$name.diff"
- diff -u "$name.diff" "$name.oracle"
- }
-
- ffoom_path=$(which ffoom)
- tmpdir=$(mktemp -d)
-
- mkdir -p "$tmpdir"
- cp -r "test/data/ffoo/"* "$tmpdir"
-
- pushd "$tmpdir"
- ignored > _ignored_
-
- for name in $(enum_tests);
- do
- do_test "$name";
- done
-
- popd
- rm -rf $tmpdir
|