diff --git a/product/ma/local/sql_loop.sh.m4 b/product/ma/local/sql_loop.sh.m4 new file mode 100644 index 0000000..cdd12d9 --- /dev/null +++ b/product/ma/local/sql_loop.sh.m4 @@ -0,0 +1,11 @@ +query=${1:-"select version(); do sleep(1);"} +sleep=${2} + +mkdir -p __workdir/jobs + +echo $1 $2 >> __workdir/jobs/$$.log + +while : ; do + __workdir/sql "$query" >>__workdir/jobs/$$.log 2>&1 || : + [ -z "$sleep" ] || sleep $sleep +done diff --git a/product/ma/local/sql_test.sh.m4 b/product/ma/local/sql_test.sh.m4 new file mode 100644 index 0000000..e3800f3 --- /dev/null +++ b/product/ma/local/sql_test.sh.m4 @@ -0,0 +1,5 @@ +set -e +last=${@:$#} # last parameter +other=${*%${!#}} # all parameters except the last +res=$(__workdir/sql "$last") +test $other $res || ( echo FAILED: $other $res ; exit 1 ) diff --git a/product/ma/local/start.sh.m4 b/product/ma/local/start.sh.m4 index 0054a36..38f3d06 100644 --- a/product/ma/local/start.sh.m4 +++ b/product/ma/local/start.sh.m4 @@ -2,7 +2,7 @@ set -e [ -d __workdir/dt ] || mkdir __workdir/dt [ -f __datadir/ibdata1 ] || __workdir/init_datadir -/usr/sbin/mariadbd --datadir=__datadir --user=$USER --socket=__workdir/.sock --skip-networking --log-error=__workdir/.cerr --pid-file=__workdir/.pid & +/usr/sbin/mariadbd --datadir=__datadir --user=$USER --socket=__workdir/.sock --skip-networking --log-error=__workdir/.cerr --pid-file=__workdir/.pid "$@" & sleep 1 __workdir/status >& /dev/null || sleep 1 diff --git a/product/ma/t/01-smoke-00.sh b/product/ma/t/01-smoke-00.sh index 8e7444e..41157c4 100755 --- a/product/ma/t/01-smoke-00.sh +++ b/product/ma/t/01-smoke-00.sh @@ -11,6 +11,13 @@ $ma/sql_tst "create table t1 as select 'x1'" test x1 == $($ma/sql --batch -Ne "select * from t1" tst) test x1 == $($ma/sql_tst "select * from t1") +$ma/sql_test x1 == "select * from t1" +$ma/sql_test x2 != "select * from t1" + +rc=0 +$ma/sql_test x2 == "select * from t1" || rc=$? +test $rc -gt 0 + $ma/stop rc=0 diff --git a/product/pg/local/sql_loop.sh.m4 b/product/pg/local/sql_loop.sh.m4 new file mode 100644 index 0000000..cdd12d9 --- /dev/null +++ b/product/pg/local/sql_loop.sh.m4 @@ -0,0 +1,11 @@ +query=${1:-"select version(); do sleep(1);"} +sleep=${2} + +mkdir -p __workdir/jobs + +echo $1 $2 >> __workdir/jobs/$$.log + +while : ; do + __workdir/sql "$query" >>__workdir/jobs/$$.log 2>&1 || : + [ -z "$sleep" ] || sleep $sleep +done diff --git a/product/pg/local/sql_test.sh.m4 b/product/pg/local/sql_test.sh.m4 new file mode 100644 index 0000000..e3800f3 --- /dev/null +++ b/product/pg/local/sql_test.sh.m4 @@ -0,0 +1,5 @@ +set -e +last=${@:$#} # last parameter +other=${*%${!#}} # all parameters except the last +res=$(__workdir/sql "$last") +test $other $res || ( echo FAILED: $other $res ; exit 1 ) diff --git a/product/pg/t/01-smoke-00.sh b/product/pg/t/01-smoke-00.sh index 3b8594a..9ac5bdd 100755 --- a/product/pg/t/01-smoke-00.sh +++ b/product/pg/t/01-smoke-00.sh @@ -5,11 +5,18 @@ pg=$(environ pg) $pg/start $pg/status -$pg/create_db test -$pg/sql_test "create table t1 as select 'x1'" +$pg/create_db tst +$pg/sql_tst "create table t1 as select 'x1'" -test x1 == $($pg/sql -t -c "select * from t1" test) -test x1 == $($pg/sql_test "select * from t1") +test x1 == $($pg/sql -t -c "select * from t1" tst) +test x1 == $($pg/sql_tst "select * from t1") + +$pg/sql_test x1 == "select * from t1" +$pg/sql_test x2 != "select * from t1" + +rc=0 +$pg/sql_test x2 == "select * from t1" || rc=$? +test $rc -gt 0 $pg/stop