summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-12-29 12:48:39 +0100
committerErich Eckner <git@eckner.net>2017-12-29 12:48:39 +0100
commitbad4a1669ce654599c6560c35917be4b873c0b04 (patch)
tree8980f1aadf7eddbc78d85acf5102917f302861a2
parent4631009b533e2c6a52be88200a3c12317e1c2b1c (diff)
downloadpackages-bad4a1669ce654599c6560c35917be4b873c0b04.tar.xz
community/haskell-servant-swagger: check should not be sensitive to order
-rw-r--r--community/haskell-servant-swagger/PKGBUILD24
1 files changed, 24 insertions, 0 deletions
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
+}