1
0
Fork 0
tuned/tests/beakerlib/Expose-TuneD-API-to-the-Unix-Domain-Socket/runtest.sh
Pavol Žáčik 8f1c757c87
beakerlib: Use ncat explicitly instead of nc
This is to make sure that we do not use netcat,
which does not work in the unix socket test.
2025-04-15 16:18:18 +02:00

82 lines
2.4 KiB
Bash
Executable file

#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/tuned/Regression/Expose-TuneD-API-to-the-Unix-Domain-Socket
# Description: Test for BZ#2113900 (Expose TuneD API to the Unix Domain Socket)
# Author: Robin Hack <rhack@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright Red Hat
#
# SPDX-License-Identifier: GPL-2.0-or-later WITH GPL-CC-1.0
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="tuned"
send() {
local data="$1"
local socket=/run/tuned/tuned.sock
# local send_only=--send-only
printf "$data" | ncat $send_only -U /run/tuned/tuned.sock
}
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlServiceStart "tuned"
rlImport "tuned/basic"
tunedProfileBackup
rlFileBackup '/etc/tuned/tuned-main.conf'
rlRun "sed -i '/#\? \?unix_socket_path =.*/ {s##unix_socket_path = /run/tuned/tuned.sock#;}' /etc/tuned/tuned-main.conf"
rlRun "sed -i '/#\? \?enable_unix_socket =.*/ {s##enable_unix_socket = 1#;}' /etc/tuned/tuned-main.conf"
rlServiceStop "tuned"
rlServiceStart "tuned"
rlPhaseEnd
rlPhaseStartTest
rlRun "tuned-adm profile virtual-host"
rlRun "tuned-adm profile virtual-guest"
sleep 2
send '{"jsonrpc": "2.0", "method": "active_profile", "id": 1}' | tee TESTOUT
rlAssertGrep "virtual-guest" "TESTOUT"
# combination of calls
send '[{"jsonrpc": "2.0", "method": "active_profile", "id": 1}, {"jsonrpc": "2.0", "method": "profiles", "id": 2}]' | tee TESTOUT
rlAssertGrep '"result": "virtual-guest"' "TESTOUT"
rlAssertGrep 'optimize-serial-console' "TESTOUT"
send '{"jsonrpc": "2.0", "method": "switch_profile", "params": {"profile_name": "balanced"}, "id": 1}' | tee TESTOUT
rlAssertGrep "true, \"OK\"" "TESTOUT"
rlRun "tuned-adm active | tee TESTOUT"
rlAssertGrep "balanced" TESTOUT
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
tunedProfileRestore
rlServiceStop "tuned"
rlFileRestore
rlServiceRestore "tuned"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd