[LTP] [PATCH 1/1] logrotate: Remove test

Po-Hsu Lin po-hsu.lin@canonical.com
Tue Dec 3 12:11:44 CET 2024


On Tue, 3 Dec 2024 at 18:05, Petr Vorel <pvorel@suse.cz> wrote:

> logrotate is an userspace tool, which has it's own testsuite [1].
> LTP is meant for kernel testing, therefore remove the test.
> 
> [1] https://github.com/logrotate/logrotate/tree/main/test
> 
> Signed-off-by: Petr Vorel <pvorel@suse.cz>

Looks reasonable to remove an userspace related test.
Acked-by: Po-Hsu Lin <po-hsu.lin@canonical.com>

> ---
>  runtest/commands                              |   1 -
>  .../commands/logrotate/00_Descriptions.txt    |   2 -
>  testcases/commands/logrotate/Makefile         |  31 ----
>  .../commands/logrotate/logrotate_tests.sh     | 139 ------------------
>  4 files changed, 173 deletions(-)
>  delete mode 100644 testcases/commands/logrotate/00_Descriptions.txt
>  delete mode 100644 testcases/commands/logrotate/Makefile
>  delete mode 100755 testcases/commands/logrotate/logrotate_tests.sh
> 
> diff --git a/runtest/commands b/runtest/commands
> index 5ec2c3b699..cfbaf214c8 100644
> --- a/runtest/commands
> +++ b/runtest/commands
> @@ -5,7 +5,6 @@ ldd01_sh ldd01.sh
>  nm01_sh nm01.sh
>  file01_sh file01.sh
>  tar01_sh  tar_tests.sh
> -logrotate_sh export TCdat=$LTPROOT/testcases/bin; logrotate_tests.sh
>  cpio01_sh cpio_tests.sh
>  unzip01_sh unzip01.sh
>  gzip01_sh gzip_tests.sh
> diff --git a/testcases/commands/logrotate/00_Descriptions.txt b/testcases/commands/logrotate/00_Descriptions.txt
> deleted file mode 100644
> index 07ffcd3e6a..0000000000
> --- a/testcases/commands/logrotate/00_Descriptions.txt
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -logrotate01
> -       test basic functionality of logrotate. use logrotate -f <config> to force rotation. 1. rotate /var/log/tst_logfile file. 2. compresses it.
> diff --git a/testcases/commands/logrotate/Makefile b/testcases/commands/logrotate/Makefile
> deleted file mode 100644
> index c3a701b87d..0000000000
> --- a/testcases/commands/logrotate/Makefile
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -#
> -#    commands/logrotate testcases Makefile.
> -#
> -#    Copyright (C) 2009, Cisco Systems Inc.
> -#
> -#    This program is free software; you can redistribute it and/or modify
> -#    it under the terms of the GNU General Public License as published by
> -#    the Free Software Foundation; either version 2 of the License, or
> -#    (at your option) any later version.
> -#
> -#    This program is distributed in the hope that it will be useful,
> -#    but WITHOUT ANY WARRANTY; without even the implied warranty of
> -#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> -#    GNU General Public License for more details.
> -#
> -#    You should have received a copy of the GNU General Public License along
> -#    with this program; if not, write to the Free Software Foundation, Inc.,
> -#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> -#
> -# Ngie Cooper, July 2009
> -#
> -
> -top_srcdir             ?= ../../..
> -
> -include $(top_srcdir)/include/mk/env_pre.mk
> -
> -INSTALL_TARGETS                := logrotate_tests.sh
> -
> -MAKE_TARGETS           :=
> -
> -include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/commands/logrotate/logrotate_tests.sh b/testcases/commands/logrotate/logrotate_tests.sh
> deleted file mode 100755
> index 0aa9f12e12..0000000000
> --- a/testcases/commands/logrotate/logrotate_tests.sh
> +++ /dev/null
> @@ -1,139 +0,0 @@
> -#!/bin/sh
> -# SPDX-License-Identifier: GPL-2.0-or-later
> -# Copyright (c) International Business Machines Corp., 2001
> -# Copyright (c) Linux Test Project, 2002-2024
> -# Author: Manoj Iyer <manjo@mail.utexas.edu>
> -#
> -# Test Basic functionality of logrotate command.
> -#
> -# Test #1
> -# Test that logrotate logrotate will rotate the logfile according to the
> -# specifications in the config file.
> -# - Create a config file that will rotate the /var/log/tst_logfile file.
> -# - Use force option to force logrotate to cause the log file to be rotated.
> -# - Compress the file after rotation.
> -#
> -# Test #2
> -# Test that logrotate logrotate will rotate the logfile if the logfile
> -# exceeds a certain size.
> -# - Create a config file that will rotate the /var/log/tst_largelogfile.
> -# - Run logrotate in a cron job that runs every minute.
> -# - Add messages to the logfile until it gets rotated when a re-dittermined size
> -#   is reached.
> -
> -TST_NEEDS_CMDS="crontab file grep logrotate"
> -TST_TESTFUNC=test
> -TST_NEEDS_ROOT=1
> -TST_NEEDS_TMPDIR=1
> -TST_CNT=2
> -TST_SETUP=setup
> -TST_CLEANUP=cleanup
> -
> -PERMISSION=
> -
> -setup()
> -{
> -       local group="syslog"
> -
> -       grep -q $group /etc/group || group="root"
> -       PERMISSION="su root $group"
> -}
> -
> -cleanup()
> -{
> -       (crontab -l | grep -v tst_largelog) | crontab -
> -       rm -rf /var/log/tst_logfile*
> -       rm -rf /var/log/tst_largelogfile*
> -}
> -
> -check_log()
> -{
> -       local file="$1"
> -
> -       EXPECT_PASS [ -f "$file" ]
> -
> -       if ! file "$file" | grep -q "gzip compressed data"; then
> -               tst_res TFAIL "Failed to create a compressed file"
> -       fi
> -}
> -
> -test1()
> -{
> -       cat >tst_logrotate.conf <<-EOF
> -        #****** Begin Config file *******
> -        # create new (empty) log files after rotating old ones
> -        create
> -
> -        # compress the log files
> -        compress
> -
> -        /var/log/tst_logfile {
> -                $PERMISSION
> -                rotate 5
> -                weekly
> -        }
> -        #****** End Config file *******
> -       EOF
> -
> -       cat >/var/log/tst_logfile <<-EOF
> -        #****** Begin Log File ********
> -        # This is a dummy log file.
> -        #****** End Log File ********
> -       EOF
> -
> -       for i in $(seq 10); do
> -               echo "This a dummy log file used to test logrotate command." >> /var/log/tst_logfile
> -       done
> -
> -       ROD rm -f /var/log/tst_logfile.*
> -       ROD chmod 644 tst_logrotate.conf
> -       ROD logrotate -fv tst_logrotate.conf > tst_logrotate.out 2>&1
> -
> -       EXPECT_PASS grep -q "reading config file tst_logrotate.conf" tst_logrotate.out
> -       EXPECT_PASS grep -q "forced from command line (5 rotations)" tst_logrotate.out
> -       EXPECT_PASS grep -E -q "compressing new|log with" tst_logrotate.out
> -
> -       check_log /var/log/tst_logfile.1.gz
> -}
> -
> -test2()
> -{
> -       cat >tst_largelog.conf <<-EOF
> -        # create new (empty) log files after rotating old ones
> -        create
> -        # compress the log files
> -        compress
> -        /var/log/tst_largelogfile {
> -            $PERMISSION
> -            rotate 5
> -            size=2k
> -        }
> -       EOF
> -
> -       ROD chmod 644 tst_largelog.conf
> -
> -       cat >/var/log/tst_largelogfile <<-EOF
> -        # This is a psuedo-log file. This file will grow to a 2k size before
> -        # getting rotated.
> -       EOF
> -
> -       for i in $(seq 75); do
> -               echo "Some text for testing rotation" >> /var/log/tst_largelogfile
> -       done
> -
> -       # cron job for logrotating
> -       (crontab -l 2>/dev/null; echo \
> -               "* * * * * $(command -v logrotate) $(pwd)/tst_largelog.conf") | crontab -
> -       if [ $? -ne 0 ]; then
> -               tst_brk TBROK "Failed to create a cron job"
> -       fi
> -
> -       # 5 sec for cron job to start, 1 min for logrotate to rotate the logs
> -       tst_res TINFO "sleep 1 min to wait for rotating logs"
> -       tst_sleep 65s
> -
> -       check_log /var/log/tst_largelogfile.1.gz
> -}
> -
> -. tst_test.sh
> -tst_run
> -- 
> 2.45.2


More information about the ltp mailing list