summaryrefslogtreecommitdiffstats
path: root/test/units/testsuite-22.12.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 03:50:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 03:50:42 +0000
commit78e9bb837c258ac0ec7712b3d612cc2f407e731e (patch)
treef515d16b6efd858a9aeb5b0ef5d6f90bf288283d /test/units/testsuite-22.12.sh
parentAdding debian version 255.5-1. (diff)
downloadsystemd-78e9bb837c258ac0ec7712b3d612cc2f407e731e.tar.xz
systemd-78e9bb837c258ac0ec7712b3d612cc2f407e731e.zip
Merging upstream version 256.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/units/testsuite-22.12.sh')
-rwxr-xr-xtest/units/testsuite-22.12.sh196
1 files changed, 0 insertions, 196 deletions
diff --git a/test/units/testsuite-22.12.sh b/test/units/testsuite-22.12.sh
deleted file mode 100755
index b8c4da8..0000000
--- a/test/units/testsuite-22.12.sh
+++ /dev/null
@@ -1,196 +0,0 @@
-#!/usr/bin/env bash
-# SPDX-License-Identifier: LGPL-2.1-or-later
-#
-# Test the "Age" parameter (with age-by) for systemd-tmpfiles.
-set -e
-set -x
-
-# Test directory structure looks like this:
-# /tmp/ageby/
-# ├── d1
-# │   ├── f1
-# │   ├── f2
-# │   ├── f3
-# │   └── f4
-# ├── d2
-# │   ├── f1
-# │   ├── f2
-# ...
-
-export SYSTEMD_LOG_LEVEL="debug"
-
-rm -rf /tmp/ageby
-mkdir -p /tmp/ageby/d{1..4}
-
-# TODO: There is probably a better way to figure this out.
-# Test for [bB] age-by arguments only on filesystems that expose
-# the creation time. Note that this is _not_ an accurate way to
-# check if the filesystem or kernel version don't provide the
-# timestamp. But, if the timestamp is visible in "stat" it is a
-# good indicator that the test can be run.
-TEST_TMPFILES_AGEBY_BTIME=${TEST_TMPFILES_AGEBY_BTIME:-0}
-if stat --format "%w" /tmp/ageby 2>/dev/null | grep -qv '^[\?\-]$'; then
- TEST_TMPFILES_AGEBY_BTIME=1
-fi
-
-touch -a --date "2 minutes ago" /tmp/ageby/d1/f1
-touch -m --date "4 minutes ago" /tmp/ageby/d2/f1
-
-# Create a bunch of other files.
-touch /tmp/ageby/d{1,2}/f{2..4}
-
-# For "ctime".
-touch /tmp/ageby/d3/f1
-chmod +x /tmp/ageby/d3/f1
-sleep 1
-
-# For "btime".
-touch /tmp/ageby/d4/f1
-sleep 1
-
-# More files with recent "{a,b}time" values.
-touch /tmp/ageby/d{3,4}/f{2..4}
-
-# Check for cleanup of "f1" in each of "/tmp/d{1..4}".
-systemd-tmpfiles --clean - <<-EOF
-d /tmp/ageby/d1 - - - a:1m -
-e /tmp/ageby/d2 - - - m:3m -
-D /tmp/ageby/d3 - - - c:2s -
-EOF
-
-for d in d{1..3}; do
- test ! -f "/tmp/ageby/${d}/f1"
-done
-
-if [[ $TEST_TMPFILES_AGEBY_BTIME -gt 0 ]]; then
- systemd-tmpfiles --clean - <<-EOF
-d /tmp/ageby/d4 - - - b:1s -
-EOF
-
- test ! -f "/tmp/ageby/d4/f1"
-else
- # Remove the file manually.
- rm "/tmp/ageby/d4/f1"
-fi
-
-# Check for an invalid "age" and "age-by" arguments.
-for a in ':' ':1s' '2:1h' 'nope:42h' '" :7m"' 'm:' '::' '"+r^w-x:2/h"' 'b ar::64'; do
- systemd-tmpfiles --clean - <<EOF 2>&1 | grep -q -F 'Invalid age'
-d /tmp/ageby - - - ${a} -
-EOF
-done
-
-for d in d{1..4}; do
- for f in f{2..4}; do
- test -f "/tmp/ageby/${d}/${f}"
- done
-done
-
-# Check for parsing with whitespace, repeated values
-# for "age-by" (valid arguments).
-for a in '" a:24h"' 'cccaab:2h' '" aa : 4h"' '" a A B C c:1h"'; do
- systemd-tmpfiles --clean - <<EOF
-d /tmp/ageby - - - ${a} -
-EOF
-done
-
-for d in d{1..4}; do
- for f in f{2..4}; do
- test -f "/tmp/ageby/${d}/${f}"
- done
-done
-
-# Check that all files are removed if the "Age" is
-# set to "0" (regardless of "age-by" argument).
-systemd-tmpfiles --clean - <<-EOF
-d /tmp/ageby/d1 - - - abc:0 -
-e /tmp/ageby/d2 - - - cmb:0 -
-EOF
-
-for d in d{1,2}; do
- for f in f{2..4}; do
- test ! -f "/tmp/ageby/${d}/${f}"
- done
-done
-
-# Check for combinations:
-# - "/tmp/ageby/d3/f2" has file timestamps that
-# are older than the specified age, it will be
-# removed
-# - "/tmp/ageby/d4/f2", has not aged for the given
-# timestamp combination, it will not be removed
-touch -a -m --date "4 minutes ago" /tmp/ageby/d3/f2
-touch -a -m --date "8 minutes ago" /tmp/ageby/d4/f2
-systemd-tmpfiles --clean - <<-EOF
-e /tmp/ageby/d3 - - - am:3m -
-D /tmp/ageby/d4 - - - mc:7m -
-EOF
-
-test ! -f "/tmp/ageby/d3/f2"
-test -f "/tmp/ageby/d4/f2"
-
-# Check that all files are removed if only "Age" is set to 0.
-systemd-tmpfiles --clean - <<-EOF
-e /tmp/ageby/d3 - - - 0s
-d /tmp/ageby/d4 - - - 0s
-EOF
-
-for d in d{3,4}; do
- for f in f{2..4}; do
- test ! -f "/tmp/ageby/$d/${f}"
- done
-done
-
-# Check "age-by" argument for sub-directories in "/tmp/ageby".
-systemd-tmpfiles --clean - <<-EOF
-d /tmp/ageby/ - - - A:1m -
-EOF
-
-for d in d{1..4}; do
- test -d "/tmp/ageby/${d}"
-done
-
-# Check for combinations.
-touch -a -m --date "5 seconds ago" /tmp/ageby/d{1,2}
-systemd-tmpfiles --clean - <<-EOF
-e /tmp/ageby/ - - - AM:4s -
-EOF
-
-for d in d{1,2}; do
- test ! -d "/tmp/ageby/${d}"
-done
-
-for d in d{3,4}; do
- test -d "/tmp/ageby/${d}"
-done
-
-# Check "btime" for directories.
-if [[ $TEST_TMPFILES_AGEBY_BTIME -gt 0 ]]; then
- systemd-tmpfiles --clean - <<-EOF
-d /tmp/ageby/ - - - B:8s -
-EOF
-
- for d in d{3,4}; do
- test -d "/tmp/ageby/${d}"
- done
-fi
-
-# To bump "atime".
-touch -a --date "1 second ago" /tmp/ageby/d3
-systemd-tmpfiles --clean - <<-EOF
-d /tmp/ageby/ - - - A:2s -
-EOF
-
-test -d /tmp/ageby/d3
-test ! -d /tmp/ageby/d4
-
-# Check if sub-directories are removed regardless
-# of "age-by", when "Age" is set to "0".
-systemd-tmpfiles --clean - <<-EOF
-D /tmp/ageby/ - - - AM:0 -
-EOF
-
-test ! -d /tmp/ageby/d3
-
-# Cleanup the test directory (fail if not empty).
-rmdir /tmp/ageby