From 295b718e69f06d0b4a4dc20d76a63e459d10f112 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 22 Nov 2014 17:59:23 +0200 Subject: Refactor repetive code into shell library --- check | 2 +- yarns/900-implementations.yarn | 19 ++----------------- yarns/yarn.sh | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 18 deletions(-) create mode 100644 yarns/yarn.sh diff --git a/check b/check index 97732a4..19b680a 100755 --- a/check +++ b/check @@ -20,4 +20,4 @@ set -eu -yarn yarns/*.yarn "$@" +yarn -s yarns/yarn.sh yarns/*.yarn "$@" diff --git a/yarns/900-implementations.yarn b/yarns/900-implementations.yarn index 80798af..a2e149f 100644 --- a/yarns/900-implementations.yarn +++ b/yarns/900-implementations.yarn @@ -58,28 +58,13 @@ We run `jt` from the source tree, without any configurations from the user, and with specific settings to make the test suite run smoother. IMPLEMENTS WHEN I run jt (.*) - EDITOR=true \ - "$SRCDIR/jt" --no-default-config \ - --config "$DATADIR/source.conf" \ - --config "$DATADIR/time.conf" \ - --layout=pkb \ - --no-git \ - $MATCH_1 - echo 0 > "$DATADIR/jt.exit" + run_jt $MATCH_1 Sometimes we expect `jt` to fail. In that case, the scenario step shouldn't fail. IMPLEMENTS WHEN I try to run jt (.*) - set +e - EDITOR=true \ - "$SRCDIR/jt" --no-default-config \ - --config "$DATADIR/source.conf" \ - --config "$DATADIR/time.conf" \ - --layout=pkb \ - --no-git \ - $MATCH_1 - echo "$?" > "$DATADIR/jt.exit" + run_jt $MATCH_1 || true Check that the latest invocation of `jt` didn't fail. diff --git a/yarns/yarn.sh b/yarns/yarn.sh new file mode 100644 index 0000000..5f3e59b --- /dev/null +++ b/yarns/yarn.sh @@ -0,0 +1,37 @@ +# Copyright 2014 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# =*= License: GPL-3+ =*= + + +# Yarn shell function library. + + +# Run jt, from the source tree. + +run_jt() +{ + set +e + EDITOR=true \ + "$SRCDIR/jt" --no-default-config \ + --config "$DATADIR/source.conf" \ + --config "$DATADIR/time.conf" \ + --layout=pkb \ + --no-git \ + "$@" + exit_code="$?" + echo "$exit_code" > "$DATADIR/jt.exit" + return "$exit_code" +} -- cgit v1.2.1