mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
tests: add tests for autoswitching to JSON format for log messages
This commit is contained in:
parent
0e8c429e30
commit
7fdba39b3f
@ -26,6 +26,39 @@ lvcreate -l1 -T $vg/$lv1
|
||||
lvcreate -l1 -n $lv2 --addtag lv_tag1 -an $vg
|
||||
lvcreate -l1 -n $lv3 --addtag lv_tag3 --addtag lv_tag1 --addtag lv_tag2 $vg
|
||||
|
||||
check_json_vs_log() {
|
||||
local format_param
|
||||
local log_output=$2
|
||||
local extra_cmd_line=$3
|
||||
|
||||
if [ -z $1 ]; then
|
||||
format_param=""
|
||||
else
|
||||
format_param="--reportformat $1"
|
||||
fi
|
||||
|
||||
not lvs $format_param $extra_cmd_line -o name $vg/lvolX 2>&1 | tee "$OUT_LOG_FILE"
|
||||
|
||||
if [ "$log_output" = "log_in_report" ]; then
|
||||
# {
|
||||
# "report": [
|
||||
# ...
|
||||
# ]
|
||||
# "log": [
|
||||
# { ... "log_message": "Failed to find logical volume" ...},
|
||||
# ...
|
||||
# }
|
||||
grep -E "^[[:space:]]*\"log\": \[" out
|
||||
grep -E "^[[:space:]]*\{.*\"log_message\":\"Failed to find logical volume.*\}" out
|
||||
elif [ "$log_output" = "direct_log" ]; then
|
||||
# Failed to find logical volume ...
|
||||
not grep -E "^[[:space:]]*\"log\": \[" out
|
||||
grep -E "[[:space:]]*Failed to find logical volume" out
|
||||
else
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
aux lvmconf "report/output_format = basic"
|
||||
lvs -o name,kernel_major,data_percent,tags | tee "$OUT_LOG_FILE"
|
||||
|
||||
@ -39,6 +72,14 @@ grep -E "^[[:space:]]*${lv1}[[:space:]]*[[:digit:]]+[[:space:]]*[[:digit:]]+.[[:
|
||||
grep -E "^[[:space:]]*${lv2}[[:space:]]*-1[[:space:]]*lv_tag1[[:space:]]*\$" out
|
||||
grep -E "^[[:space:]]*${lv3}[[:space:]]*[[:digit:]]+[[:space:]]*lv_tag1,lv_tag2,lv_tag3\$" out
|
||||
|
||||
check_json_vs_log "" direct_log ""
|
||||
check_json_vs_log "" direct_log "--config log/report_command_log=1"
|
||||
|
||||
check_json_vs_log json log_in_report ""
|
||||
check_json_vs_log json_std log_in_report ""
|
||||
|
||||
check_json_vs_log json direct_log "--config log/report_command_log=0"
|
||||
check_json_vs_log json_std direct_log "--config log/report_command_log=0"
|
||||
|
||||
aux lvmconf "report/output_format = json"
|
||||
lvs -o name,kernel_major,data_percent,tags | tee "$OUT_LOG_FILE"
|
||||
@ -57,6 +98,9 @@ grep -E "^[[:space:]]*{\"lv_name\":\"$lv1\", \"lv_kernel_major\":\"[[:digit:]]+\
|
||||
grep -E "^[[:space:]]*{\"lv_name\":\"$lv2\", \"lv_kernel_major\":\"-1\", \"data_percent\":\"\", \"lv_tags\":\"lv_tag1\"},\$" out
|
||||
grep -E "^[[:space:]]*{\"lv_name\":\"$lv3\", \"lv_kernel_major\":\"[[:digit:]]+\", \"data_percent\":\"\", \"lv_tags\":\"lv_tag1,lv_tag2,lv_tag3\"}\$" out
|
||||
|
||||
check_json_vs_log "" log_in_report ""
|
||||
check_json_vs_log "" direct_log "--config log/report_command_log=0"
|
||||
|
||||
aux lvmconf "report/output_format = json_std"
|
||||
lvs -o name,kernel_major,data_percent,tags | tee "$OUT_LOG_FILE"
|
||||
# {
|
||||
@ -74,4 +118,15 @@ grep -E "^[[:space:]]*{\"lv_name\":\"$lv1\", \"lv_kernel_major\":[[:digit:]]+, \
|
||||
grep -E "^[[:space:]]*{\"lv_name\":\"$lv2\", \"lv_kernel_major\":-1, \"data_percent\":null, \"lv_tags\":\[\"lv_tag1\"\]},\$" out
|
||||
grep -E "^[[:space:]]*{\"lv_name\":\"$lv3\", \"lv_kernel_major\":[[:digit:]]+, \"data_percent\":null, \"lv_tags\":\[\"lv_tag1\",\"lv_tag2\",\"lv_tag3\"\]}\$" out
|
||||
|
||||
check_json_vs_log "" log_in_report ""
|
||||
check_json_vs_log "" direct_log "--config log/report_command_log=0"
|
||||
|
||||
aux lvmconf "log/report_command_log = 0"
|
||||
check_json_vs_log "" direct_log ""
|
||||
check_json_vs_log "" log_in_report "--config log/report_command_log=1"
|
||||
|
||||
aux lvmconf "log/report_command_log = 1"
|
||||
check_json_vs_log "" log_in_report ""
|
||||
check_json_vs_log "" direct_log "--config log/report_command_log=0"
|
||||
|
||||
vgremove -ff $vg
|
||||
|
Loading…
Reference in New Issue
Block a user