diff --git a/tests/scripts/correct-elf.sh b/tests/scripts/correct-elf.sh new file mode 100755 index 0000000..acaef74 --- /dev/null +++ b/tests/scripts/correct-elf.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +PATH=/usr/bin +TMUX=/usr/bin/tmux + +echo -n "checking to see that ${TMUX} is an ELF executable..." + +case "$(file -b --mime-type "${TMUX}")" in + application/x-executable|application/x-pie-executable|application/x-sharedlib) + echo "ok" + RET=0 + ;; + *) + echo "FAIL" + RET=1 + ;; +esac + +exit ${RET} diff --git a/tests/scripts/exists.sh b/tests/scripts/exists.sh new file mode 100755 index 0000000..c0ef34f --- /dev/null +++ b/tests/scripts/exists.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +PATH=/usr/bin +TMUX=/usr/bin/tmux + +echo -n "checking to see that ${TMUX} exists..." + +if [ -f "${TMUX}" ]; then + echo "ok" + RET=0 +else + echo "FAIL" + RET=1 +fi + +exit ${RET} diff --git a/tests/scripts/filename-lowercase.sh b/tests/scripts/filename-lowercase.sh new file mode 100755 index 0000000..24f9c52 --- /dev/null +++ b/tests/scripts/filename-lowercase.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +PATH=/usr/bin +TMUX=/usr/bin/tmux + +echo -n "verifying ${TMUX}'s filename contains all lowercase letters..." + +BASETMUX="$(basename $(stat -L -c "%n" ${TMUX}))" +LOWERTMUX="$(echo "${BASETMUX}" | tr [A-Z] [a-z])" + +if [ "${BASETMUX}" = "${LOWERTMUX}" ]; then + echo "ok" + RET=0 +else + echo "FAIL" + RET=1 +fi + +exit ${RET} diff --git a/tests/scripts/help-output.sh b/tests/scripts/help-output.sh new file mode 100755 index 0000000..ff865c6 --- /dev/null +++ b/tests/scripts/help-output.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +PATH=/usr/bin +TMUX=/usr/bin/tmux + +echo -n "checking for ${TMUX} --help output and exit code..." + +STDOUT="$(${TMUX} --help 2>/dev/null)" +STDERR="$(${TMUX} --help 2>&1 | head -n 1 | cut -c-11)" +${TMUX} --help >/dev/null 2>&1 +EXITCODE=$? + +if [ ${EXITCODE} -eq 1 ] && [ -z "${STDOUT}" ] && [ "${STDERR}" = "usage: tmux" ]; then + echo "ok" + RET=0 +else + echo "FAIL" + RET=1 +fi + +exit ${RET} diff --git a/tests/scripts/launch-top.sh b/tests/scripts/launch-top.sh new file mode 100755 index 0000000..c66dbe1 --- /dev/null +++ b/tests/scripts/launch-top.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +PATH=/usr/bin +TMUX=/usr/bin/tmux +SESSION_NAME="$(basename $0 .sh)" +RET=0 + +echo -n "checking that ${TMUX} can start a new session with 'top'..." + +${TMUX} new-session -d -s ${SESSION_NAME} 'top' || ( echo "FAIL" ; exit 1 ) + +TOPPID=$(pgrep -x top) +PGREPCODE=$? +if [ -z "${TOPPID}" ] || [ ${PGREPCODE} -ne 0 ]; then + RET=1 +elif [ ! -d /proc/${TOPPID} ]; then + RET=1 +fi + +${TMUX} kill-session -t ${SESSION_NAME} || ( echo "FAIL" ; exit 1 ) + +[ ${RET} -eq 0 ] && echo "ok" || echo "FAIL" +exit ${RET} diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..ba812f7 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,25 @@ +--- + +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - tmux + tests: + - exists: + dir: scripts/ + run: ./exists.sh + - correct-elf: + dir: scripts/ + run: ./correct-elf.sh + - filename-lowercase: + dir: scripts/ + run: ./filename-lowercase.sh + - help-output: + dir: scripts/ + run: ./help-output.sh + - launch-top: + dir: scripts/ + run: ./launch-top.sh diff --git a/tmux.spec b/tmux.spec index f926e4f..df114f9 100644 --- a/tmux.spec +++ b/tmux.spec @@ -2,7 +2,7 @@ Name: tmux Version: 2.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A terminal multiplexer Group: Applications/System @@ -65,7 +65,7 @@ fi %{_datadir}/bash-completion/completions/tmux %changelog -* Tue Apr 04 2023 Josh Boyer - 2.7-2 +* Tue Apr 04 2023 Josh Boyer - 2.7-3 - Backport fix for intermittent stalling bug Resolves: rhbz 2024339