kdave / btrfsmaintenance

Scripts for btrfs maintenance tasks like periodic scrub, balance, trim or defrag on selected mountpoints or directories.
GNU General Public License v2.0
897 stars 79 forks source link

btrfsmaintenance: add tests framework and functional test cases #103

Open asj opened 2 years ago

asj commented 2 years ago

Create a framework to test btrfsmaintenance. This test environment needs the following variables configured in the file './check'.

TESTPATH Specify the path to the btrfsmaintenance code under test. For example: TESTPATH=/usr/share/btrfsmaintenance # Tests the rpm installed code. TESTPATH=../ # Tests script from the btrfsmaintenance workspace.

SCRATCH_MNT Provide a scratch btrfs filesystem for which the scripts run. For example: SCRATCH_MNT=/mnt/scratch

Run tests as: ./check <-- runs all the available test cases. ./check 1-timer-systemd.sh <-- runs only the specified test case.

As of now, there are a set of 6 test cases to test the anacron, systemd timers setups and the task scripts using a configuration file 'sysconfig.btrfsmaintenance.testall'.

Please note, this adds the basic functionality test cases more elaborate test cases to be added based on the feedback.

Signed-off-by: Anand Jain anand.jain@oracle.com