Simplify tests/prelude

This commit is contained in:
Bastien Dejean 2017-07-24 20:49:55 +02:00
parent 196610445c
commit 98ef99cfee

View file

@ -5,39 +5,20 @@ fail() {
exit 1
}
clients_count() {
bspc wm -d | jshon -e clientsCount
}
window() {
local cmd=$1
local iter=${2:-1}
local delta=${3:-1}
local interval=${4:-0.05}
local max_tries=${5:-40}
while [ $iter -gt 0 ] ; do
local cur=$(clients_count)
local trg
local tries=0
case "$cmd" in
add)
trg=$((cur + delta))
./test_window &
;;
remove)
trg=$((cur - delta))
bspc node -c
;;
*)
fail "window: unknown command: ${cmd}."
;;
esac
while [ $cur -ne $trg ] ; do
cur=$(clients_count)
sleep $interval
tries=$((tries + 1))
[ $tries -ge $max_tries ] && break
done
local action=${1:-add}
local iter=${2:-1}
local delta=${3:-1}
local event=node_${action}
local cmd
case "$action" in
add) cmd=./test_window ;;
remove) cmd="bspc node -c" ;;
esac
while [ $iter -gt 0 ] ; do
local rsp_chan=$(bspc subscribe -f -c "$delta" "$event")
$cmd &
cat "$rsp_chan" > /dev/null
iter=$((iter - 1))
done
}