diff --git a/lib/bash/collect_system_info.sh b/lib/bash/collect_system_info.sh index 057271bd..0cf5cd32 100644 --- a/lib/bash/collect_system_info.sh +++ b/lib/bash/collect_system_info.sh @@ -149,17 +149,19 @@ linux_exclusive_collection () { local PTFUNCNAME=linux_exclusive_collection; [ "$CMD_GETENFORCE" ] && getenforce="$($CMD_GETENFORCE 2>&1)" echo "getenforce ${getenforce:-"No SELinux detected"}" >> "$data_dir/summary" - echo "swappiness $(awk '/vm.swappiness/{print $3}' "$data_dir/sysctl")" >> "$data_dir/summary" + if [ -e "$data_dir/sysctl" ]; then + echo "swappiness $(awk '/vm.swappiness/{print $3}' "$data_dir/sysctl")" >> "$data_dir/summary" - local dirty_ratio="$(awk '/vm.dirty_ratio/{print $3}' "$data_dir/sysctl")" - local dirty_bg_ratio="$(awk '/vm.dirty_background_ratio/{print $3}' "$data_dir/sysctl")" - if [ "$dirty_ratio" -a "$dirty_bg_ratio" ]; then - echo "dirtypolicy $dirty_ratio, $dirty_bg_ratio" >> "$data_dir/summary" - fi + local dirty_ratio="$(awk '/vm.dirty_ratio/{print $3}' "$data_dir/sysctl")" + local dirty_bg_ratio="$(awk '/vm.dirty_background_ratio/{print $3}' "$data_dir/sysctl")" + if [ "$dirty_ratio" -a "$dirty_bg_ratio" ]; then + echo "dirtypolicy $dirty_ratio, $dirty_bg_ratio" >> "$data_dir/summary" + fi - local dirty_bytes="$(awk '/vm.dirty_bytes/{print $3}' "$data_dir/sysctl")" - if [ "$dirty_bytes" ]; then - echo "dirtystatus $(awk '/vm.dirty_bytes/{print $3}' "$data_dir/sysctl"), $(awk '/vm.dirty_background_bytes/{print $3}' "$data_dir/sysctl")" >> "$data_dir/summary" + local dirty_bytes="$(awk '/vm.dirty_bytes/{print $3}' "$data_dir/sysctl")" + if [ "$dirty_bytes" ]; then + echo "dirtystatus $(awk '/vm.dirty_bytes/{print $3}' "$data_dir/sysctl"), $(awk '/vm.dirty_background_bytes/{print $3}' "$data_dir/sysctl")" >> "$data_dir/summary" + fi fi schedulers_and_queue_size "$data_dir/summary" > "$data_dir/partitioning" diff --git a/t/lib/bash/collect_system_info.sh b/t/lib/bash/collect_system_info.sh index 259019f8..448f35f5 100644 --- a/t/lib/bash/collect_system_info.sh +++ b/t/lib/bash/collect_system_info.sh @@ -168,7 +168,9 @@ test_linux_exclusive_collection () { local PT_SUMMARY_SKIP="" mkdir "$dir/1" - cp "$dir/sysctl" "$dir/1/" + if [ -e "$dir/sysctl" ]; then + cp "$dir/sysctl" "$dir/1/" + fi linux_exclusive_collection "$dir/1" is \ @@ -183,7 +185,9 @@ test_linux_exclusive_collection () { done mkdir "$dir/2" - cp "$dir/sysctl" "$dir/2/" + if [ -e "$dir/sysctl" ]; then + cp "$dir/sysctl" "$dir/2/" + fi linux_exclusive_collection "$dir/2" is \ @@ -205,8 +209,11 @@ platform="$(get_var platform "$p/summary")" if [ "$platform" = "Linux" ]; then mkdir "$TMPDIR/linux_data" - cp "$p/sysctl" "$TMPDIR/linux_data/sysctl" + if [ -e "$p/sysctl" ]; then + cp "$p/sysctl" "$TMPDIR/linux_data/sysctl" + fi test_linux_exclusive_collection "$TMPDIR/linux_data" + rm -rf "$TMPDIR/linux_data" else skip 1 5 "Tests exclusive for Linux" fi