[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 07/11] cri-getconfig: Provide debugging for get_psql_cmd
This allows us to execute only the first <some number> SQL invocations. The first non-executed one is dumped, instead, by having get_psql_command print a rune involving ./mg-debug-fail (which the caller will then execute). The locking makes things work roughly-correctly if get_psql_cmd is run in multiple processes at once: it is not defined exactly which invocations get which counter values, but they will all work properly and get exactly one counter value each. If set -x is in force, turn it off for get_psql_cmd: our perl rune is uninteresting to see repeated ad infinitum in debugging output. Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> --- cri-getconfig | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/cri-getconfig b/cri-getconfig index 48528b5..a357d86 100644 --- a/cri-getconfig +++ b/cri-getconfig @@ -41,6 +41,22 @@ getrepos() { } get_psql_cmd () { + # To use this: + # on each test run, rm -f t.psql-counter + # and set OSSTEST_PSQL_ONLY_DO to an integer + if [ "x$OSSTEST_PSQL_ONLY_DO" != x ]; then + local f=t.psql-counter + psql_counter=$( with-lock-ex -w $f.lock bash -ec ' + psql_counter=$(cat '$f' || echo 0) + echo $(( $psql_counter + 1 )) >'$f'.tmp + mv -f '$f'.tmp '$f' + echo $psql_counter' ) + if ! [ $psql_counter -lt $OSSTEST_PSQL_ONLY_DO ]; then + printf './mg-debug-fail ' + fi + fi + + set +x perl -we ' use Osstest; use Osstest::Executive; -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |