summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2014-11-22 17:59:23 +0200
committerLars Wirzenius <liw@liw.fi>2014-11-22 17:59:23 +0200
commit295b718e69f06d0b4a4dc20d76a63e459d10f112 (patch)
tree95d61231ed9694d4effc77e0ed2527a59fec5c90
parent25dcc4b2234ddb768b76a5f4bd928a4817022bb4 (diff)
downloadjt-295b718e69f06d0b4a4dc20d76a63e459d10f112.tar.gz
Refactor repetive code into shell library
-rwxr-xr-xcheck2
-rw-r--r--yarns/900-implementations.yarn19
-rw-r--r--yarns/yarn.sh37
3 files changed, 40 insertions, 18 deletions
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 <http://www.gnu.org/licenses/>.
+#
+# =*= 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"
+}