From ea1751de9b5fbff424751e2ba37b853262ef2bfa Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Tue, 2 Dec 2014 13:18:48 +0900 Subject: [PATCH] pretty_tox.sh: Portablity improvement A recent change (commit 0d5a11d9c722870f9c5e31a993219c7e240b4e19) introduced bash dependency. It broke my environment, where bash is not available. This change aims to restore it. As far as I undestand, the change in question requires bash for the "pipefail" feature. Fortunately there's a more portable well-known trick for the purpose. Closes-Bug: #1398266 Change-Id: Id3561d81462923d20ad39584ba4cf8e1a294a8a8 --- tools/pretty_tox.sh | 8 ++++---- tox.ini | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/pretty_tox.sh b/tools/pretty_tox.sh index 55dd14042..e1bc9acfc 100755 --- a/tools/pretty_tox.sh +++ b/tools/pretty_tox.sh @@ -1,6 +1,6 @@ -#!/usr/bin/env bash - -set -o pipefail +#! /bin/sh TESTRARGS=$1 -python -m neutron.openstack.common.lockutils python setup.py testr --slowest --testr-args="--subunit $TESTRARGS" | $(dirname $0)/subunit-trace.py -f + +exec 3>&1 +status=$(exec 4>&1 >&3; ( python -m neutron.openstack.common.lockutils python setup.py testr --slowest --testr-args="--subunit $TESTRARGS"; echo $? >&4 ) | $(dirname $0)/subunit-trace.py -f) && exit $status diff --git a/tox.ini b/tox.ini index 78abf20d6..2e7d2e48d 100644 --- a/tox.ini +++ b/tox.ini @@ -12,9 +12,9 @@ usedevelop = True install_command = pip install -U {opts} {packages} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt -whitelist_externals = bash +whitelist_externals = sh commands = - bash tools/pretty_tox.sh '{posargs}' + sh tools/pretty_tox.sh '{posargs}' # there is also secret magic in pretty_tox.sh which lets you run in a fail only # mode. To do this define the TRACE_FAILONLY environmental variable.