* tests/init.sh (kernel_version_code,
require_min_kernel_version_or_skip): New functions.
* tests/threads-execve.test: Use require_min_kernel_version_or_skip.
rm -f "$EXP"
}
+# Print kernel version code.
+# usage: kernel_version_code $(uname -r)
+kernel_version_code()
+{
+ (
+ set -f
+ IFS=.
+ set -- $1
+ v1="${1%%[!0-9]*}" && [ -n "$v1" ] || v1=0
+ v2="${2%%[!0-9]*}" && [ -n "$v2" ] || v2=0
+ v3="${3%%[!0-9]*}" && [ -n "$v3" ] || v3=0
+ echo "$(($v1 * 65536 + $v2 * 256 + $v3))"
+ )
+}
+
+# Usage: require_min_kernel_version_or_skip 3.0
+require_min_kernel_version_or_skip()
+{
+ local uname_r
+ uname_r="$(uname -r)"
+
+ [ "$(kernel_version_code "$uname_r")" -ge \
+ "$(kernel_version_code "$1")" ] ||
+ skip_ "the kernel release $uname_r is not $1 or newer"
+}
+
check_prog cat
check_prog rm
# Check that PTRACE_EVENT_EXEC support in kernel is good enough.
# The kernel before commit v3.1-rc1~308^2~7 reported 0 instead of old pid.
-uname_r="$(uname -r)"
-case "$uname_r" in
- 3.[2-9]*|3.1[0-9]*|[4-9].*|[123][0-9]*) ;;
- *) skip_ "the kernel release $uname_r is not 3.1 or newer" ;;
-esac
+require_min_kernel_version_or_skip 3.1
check_prog diff
run_prog > /dev/null