From bad4a1669ce654599c6560c35917be4b873c0b04 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 29 Dec 2017 12:48:39 +0100 Subject: community/haskell-servant-swagger: check should not be sensitive to order --- community/haskell-servant-swagger/PKGBUILD | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'community/haskell-servant-swagger') diff --git a/community/haskell-servant-swagger/PKGBUILD b/community/haskell-servant-swagger/PKGBUILD index 84e3f0da..dff1fac9 100644 --- a/community/haskell-servant-swagger/PKGBUILD +++ b/community/haskell-servant-swagger/PKGBUILD @@ -1,6 +1,30 @@ +# first, we replace the hardcoded min/max of int + eval "$( declare -f check | \ sed ' 3 a find . -type f -exec sed -i '"'"'s/922337203685477580\\([78]\\)/214748364\\1/g; s/9\\.22337203685477580\\([78]\\)e18/2.14748364\\1e9/g'"'"' {} \\; + s/runhaskell Setup test/_check_diff \\0/ ' )" + +# and then we make the check insensitive to changes of order + +_check_diff() { + if ! "$@" > check.log; then + if ! diff -u <( + grep '^\s*expected:' check.log | \ + sed 's/^[^:]*://' | \ + tr '{},' '\n' | \ + sort + ) <( + grep '^\s*but got:' check.log | \ + sed 's/^[^:]*://' | \ + tr '{},' '\n' | \ + sort + ); then + cat check.log + return 1 + fi + fi +} -- cgit v1.2.3-70-g09d2