mirror of
https://github.com/markusressel/zfs-inplace-rebalancing
synced 2026-02-04 21:14:09 +00:00
* added folder structure for testing added testing.sh script added testing github action * delete rebalancing file for testing * run multiple variants of the command * fix "integer expression expected" * added assertions * output logged data
47 lines
994 B
Bash
Executable File
47 lines
994 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# exit script on error
|
|
set -e
|
|
# exit on undeclared variable
|
|
set -u
|
|
|
|
log_std_file=./test.log
|
|
log_error_file=./error.log
|
|
test_data_src=./test/pool
|
|
test_pool_data_path=./testing_data
|
|
|
|
function prepare() {
|
|
# cleanup
|
|
rm -f $log_std_file
|
|
rm -f $log_error_file
|
|
rm -f rebalance_db.txt
|
|
rm -rf $test_pool_data_path
|
|
|
|
# setup
|
|
cp -rf $test_data_src $test_pool_data_path
|
|
}
|
|
|
|
function assertions() {
|
|
# check error log is empty
|
|
if grep -q '[^[:space:]]' $log_error_file; then
|
|
echo "error log is not empty!"
|
|
cat $log_error_file
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
prepare
|
|
./zfs-inplace-rebalancing.sh $test_pool_data_path >> $log_std_file 2>> $log_error_file
|
|
cat $log_std_file
|
|
assertions
|
|
|
|
prepare
|
|
./zfs-inplace-rebalancing.sh --checksum true --passes 1 $test_pool_data_path >> $log_std_file 2>> $log_error_file
|
|
cat $log_std_file
|
|
assertions
|
|
|
|
prepare
|
|
./zfs-inplace-rebalancing.sh --checksum false $test_pool_data_path >> $log_std_file 2>> $log_error_file
|
|
cat $log_std_file
|
|
assertions
|