#!/bin/sh # # SPDX-License-Identifier: AGPL-3.0-or-later # # PASST - Plug A Simple Socket Transport # for qemu/UNIX domain socket mode # # PASTA - Pack A Subtle Tap Abstraction # for network namespace/tap device mode # # test/lib/layout_ugly - screen-scraped tmux pane layouts # # Copyright (c) 2022 Red Hat GmbH # Author: Stefano Brivio # layout_host() - Simple host commands layout with info and host panes layout_host() { sleep 3 tmux kill-pane -a -t 0 cmd_write 0 clear tmux split-window -h -l '35%' -t passt_test:1.0 PANE_HOST=0 PANE_INFO=1 get_info_cols tmux send-keys -l -t ${PANE_INFO} 'while cat '"$STATEBASE/log_pipe"'; do :; done' tmux send-keys -t ${PANE_INFO} -N 100 C-m tmux select-pane -t ${PANE_INFO} -T "test log" if context_exists host; then pane_watch_contexts 0 host host else tmux pipe-pane -O -t ${PANE_HOST} "cat >> ${LOGDIR}/pane_host.log" tmux select-pane -t ${PANE_HOST} -T "host" fi info_layout "host commands only" sleep 1 } # layout_pasta_simple() - Panes for host and pasta layout_pasta_simple() { sleep 3 tmux kill-pane -a -t 0 cmd_write 0 clear tmux split-window -v -t passt_test tmux split-window -h -t passt_test PANE_PASST=0 PANE_HOST=1 PANE_INFO=2 get_info_cols tmux send-keys -l -t ${PANE_INFO} 'while cat '"$STATEBASE/log_pipe"'; do :; done' tmux send-keys -t ${PANE_INFO} -N 100 C-m tmux select-pane -t ${PANE_INFO} -T "test log" if context_exists host; then pane_watch_contexts ${PANE_HOST} host host else tmux pipe-pane -O -t ${PANE_HOST} "cat >> ${LOGDIR}/pane_host.log" tmux select-pane -t ${PANE_HOST} -T "host" fi if context_exists passt; then pane_watch_contexts ${PANE_PASST} host host else tmux pipe-pane -O -t ${PANE_PASST} "cat >> ${LOGDIR}/pane_passt.log" tmux select-pane -t ${PANE_PASST} -T "pasta" fi info_layout "single pasta instance" sleep 1 } # layout_memory() - Screen-scraped panes for memory usage tests, big guest pane layout_memory() { sleep 3 tmux kill-pane -a -t 0 cmd_write 0 clear tmux split-window -h -l '35%' -t passt_test tmux split-window -v -l '15%' -t passt_test PANE_PASST=2 PANE_GUEST=0 PANE_INFO=1 get_info_cols tmux send-keys -l -t ${PANE_INFO} 'while cat '"$STATEBASE/log_pipe"'; do :; done' tmux send-keys -t ${PANE_INFO} -N 100 C-m tmux select-pane -t ${PANE_INFO} -T "test log" if context_exists guest; then pane_watch_contexts ${PANE_GUEST} guest guest else tmux pipe-pane -O -t ${PANE_GUEST} "cat >> ${LOGDIR}/pane_guest.log" tmux select-pane -t ${PANE_GUEST} -T "guest" fi if context_exists passt; then pane_watch_contexts ${PANE_PASST} passt passt else tmux pipe-pane -O -t ${PANE_PASST} "cat >> ${LOGDIR}/pane_passt.log" tmux select-pane -t ${PANE_PASST} -T "passt" fi info_layout "memory usage" sleep 1 }