mirror of
https://github.com/SCST-project/scst.git
synced 2026-08-17 12:46:27 +00:00
run-regression-tests:
- Adding the suffix "-u" to a kernel version will make the tests to be run
with generate-kernel-patch -u ${kernel_version} instead of
generate-kernel-patch ${kernel_version}.
generate-kernel-patch:
- sBUG(...) and sBUG_ON(...) are now replaced by BUG(...) and BUG_ON(...)
respectively.
- Option -n does no longer disable the above substitution.
- Source file scst/src/scst_proc.c is now excluded when option -u is specified.
specialize-patch:
- Replaced variable delete_disabled_code by blank_deleted_lines. While setting
the former variable had the effect of deleting disabled code, the latter
has the effect of replacing disabled code by blank lines.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1271 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -72,7 +72,7 @@ EOF
|
||||
# Insert a '+'-sign at the start of each line.
|
||||
sed -e 's/^/+/' < "$1" | \
|
||||
if [ "${replace_sbug_by_bug}" = "true" ]; then
|
||||
sed -e 's/sBUG(\([^)]\)/BUG(\1/g' -e 's/sBUG_ON(\([^)]\)/BUG_ON(\1/g'
|
||||
sed -e 's/sBUG(\([^)]*\)/BUG(\1/g' -e 's/sBUG_ON(\([^)]*\)/BUG_ON(\1/g'
|
||||
else
|
||||
cat
|
||||
fi \
|
||||
@@ -163,8 +163,7 @@ do
|
||||
'-h') usage; exit 1;;
|
||||
'-l') shift;;
|
||||
'-m') mpt_scst="true"; shift;;
|
||||
'-n') specialize_patch_options="-v delete_disabled_code=0"
|
||||
replace_sbug_by_bug="false"
|
||||
'-n') specialize_patch_options="-v blank_deleted_code=1"
|
||||
shift
|
||||
;;
|
||||
'-p') multiple_patches="true"; patchdir="$2"; shift; shift;;
|
||||
@@ -278,6 +277,10 @@ add_file "scst/kernel/in-tree/Makefile.scst" "drivers/scst/Makefile"
|
||||
|
||||
for f in $(ls scst/src/*.[ch] 2>/dev/null)
|
||||
do
|
||||
if [ "${generating_upstream_patch}" = "true" \
|
||||
-a "${f}" = "scst/src/scst_proc.c" ]; then
|
||||
continue
|
||||
fi
|
||||
if ! in_separate_patch "${f}"; then
|
||||
add_file "${f}" "drivers/scst/${f#scst/src/}"
|
||||
fi
|
||||
@@ -290,6 +293,10 @@ do
|
||||
fileset=$s
|
||||
for f in $(set | grep "^$s=" | sed -e "s/^$s='\(.*\)'\$/\1/" -e "s/^$s=\(.*\)\$/\1/")
|
||||
do
|
||||
if [ "${generating_upstream_patch}" = "true" \
|
||||
-a "${f}" = "scst/src/scst_proc.c" ]; then
|
||||
continue
|
||||
fi
|
||||
if [ "${f#scst/include}" != "${f}" ]; then
|
||||
add_file "${f}" "include/scst/${f#scst/include/}"
|
||||
else
|
||||
|
||||
@@ -278,7 +278,8 @@ function download_kernel {
|
||||
)
|
||||
}
|
||||
|
||||
# Generate a kernel patch from the SCST source tree for kernel version $1.
|
||||
# Generate a kernel patch from the SCST source tree for kernel version $1
|
||||
# and with generate-kernel-patch options $2.
|
||||
function generate_kernel_patch {
|
||||
local scst_dir="${PWD}"
|
||||
local kver="$(kernel_version $1)"
|
||||
@@ -287,23 +288,22 @@ function generate_kernel_patch {
|
||||
|
||||
SIGNED_OFF_BY="..." \
|
||||
scripts/generate-kernel-patch \
|
||||
$([ "${scst_local}" = "true" ] && echo -- "-l") \
|
||||
$([ "${mpt_scst}" = "true" ] && echo -- "-m") \
|
||||
$([ "${qla2x00t}" = "true" ] && echo -- "-q") \
|
||||
${1} > "${patchfile}"
|
||||
$([ "${scst_local}" = "true" ] && echo "-l") \
|
||||
$([ "${mpt_scst}" = "true" ] && echo "-m") \
|
||||
$([ "${qla2x00t}" = "true" ] && echo "-q") \
|
||||
$2 $1 > "${patchfile}"
|
||||
|
||||
SIGNED_OFF_BY="..." \
|
||||
scripts/generate-kernel-patch \
|
||||
-n \
|
||||
$([ "${scst_local}" = "true" ] && echo -- "-l") \
|
||||
$([ "${mpt_scst}" = "true" ] && echo -- "-m") \
|
||||
$([ "${qla2x00t}" = "true" ] && echo -- "-q") \
|
||||
${1} > "${patchfile_m}"
|
||||
-n \
|
||||
$([ "${scst_local}" = "true" ] && echo "-l") \
|
||||
$([ "${mpt_scst}" = "true" ] && echo "-m") \
|
||||
$([ "${qla2x00t}" = "true" ] && echo "-q") \
|
||||
$2 $1 > "${patchfile_m}"
|
||||
}
|
||||
|
||||
# Generate a kernel patch through scripts/generate-kernel-patch and test
|
||||
# whether it applies cleanly to kernel version $1. Leaves a vanilla kernel
|
||||
# in directory "${outputdir}/linux-$1" at exit.
|
||||
# Test whether the generated kernel patch applies cleanly to kernel version $1.
|
||||
# Leaves a vanilla kernel tree in directory "${outputdir}/linux-$1" at exit.
|
||||
function test_if_patch_applies_cleanly {
|
||||
local kver="$(kernel_version $1)"
|
||||
local plevel="$(patchlevel $1)"
|
||||
@@ -579,14 +579,21 @@ compile_scst_patched debug2perf || exit $?
|
||||
compile_scst_patched disable_proc || exit $?
|
||||
|
||||
first_iteration="true"
|
||||
for k in ${kernel_versions}
|
||||
for kv in ${kernel_versions}
|
||||
do
|
||||
echo "===================="
|
||||
printf "= kernel %-9s =\n" "${k}"
|
||||
echo "===================="
|
||||
echo "======================"
|
||||
printf "= kernel %-11s =\n" "${kv}"
|
||||
echo "======================"
|
||||
|
||||
if [ "${kv%-u}" != "${kv}" ]; then
|
||||
k="${kv%-u}"
|
||||
v="-u"
|
||||
else
|
||||
k="${kv}"
|
||||
fi
|
||||
|
||||
download_kernel $k || continue
|
||||
generate_kernel_patch $k || continue
|
||||
generate_kernel_patch $k "$v" || continue
|
||||
test_if_patch_applies_cleanly $k || continue
|
||||
if [ "${first_iteration}" = "true" -o "${k#2.6.26}" != "$k" ]; then
|
||||
first_iteration="false"
|
||||
@@ -597,8 +604,8 @@ do
|
||||
patch_and_configure_kernel $k
|
||||
compile_kernel $k drivers/scst
|
||||
fi
|
||||
# run_headers_check $k
|
||||
if [ "${full_check}" = "true" ]; then
|
||||
run_headers_check $k
|
||||
compile_patched_kernel $k
|
||||
run_checkstack $k
|
||||
run_namespacecheck $k
|
||||
|
||||
+40
-19
@@ -283,25 +283,34 @@ function process_preprocessor_statement() {
|
||||
if (output)
|
||||
any_section_output[if_nesting_level] = 1
|
||||
}
|
||||
if (delete_disabled_code \
|
||||
&& (evaluated ~ "^+#define SCSI_EXEC_REQ_FIFO_DEFINED$" \
|
||||
&& SCSI_EXEC_REQ_FIFO_DEFINED != "" \
|
||||
|| evaluated ~ "^+#define SCST_IO_CONTEXT$" \
|
||||
&& SCST_IO_CONTEXT != "" \
|
||||
|| (evaluated ~ "^+#define CONFIG_SCST_PROC$" \
|
||||
&& config_scst_proc_undefined)))
|
||||
if (evaluated ~ "^+#define SCSI_EXEC_REQ_FIFO_DEFINED$" \
|
||||
&& SCSI_EXEC_REQ_FIFO_DEFINED != "" \
|
||||
|| evaluated ~ "^+#define SCST_IO_CONTEXT$" \
|
||||
&& SCST_IO_CONTEXT != "" \
|
||||
|| (evaluated ~ "^+#define CONFIG_SCST_PROC$" \
|
||||
&& config_scst_proc_undefined))
|
||||
{
|
||||
lines_deleted += input_line_count
|
||||
delete_next_blank_line = 1
|
||||
if (blank_deleted_code)
|
||||
for (i = 0; i < input_line_count; i++)
|
||||
line[lines++] = "+"
|
||||
else
|
||||
{
|
||||
lines_deleted += input_line_count
|
||||
delete_next_blank_line = 1
|
||||
}
|
||||
}
|
||||
else if (delete_disabled_code == 0 || (output && (! condition || condition && matching_if !~ "^+#if [01]")))
|
||||
else if (output && (! condition || condition && matching_if !~ "^+#if [01]"))
|
||||
{
|
||||
for (i = 0; i < input_line_count; i++)
|
||||
line[lines++] = input_line[i]
|
||||
}
|
||||
else
|
||||
{
|
||||
lines_deleted += input_line_count
|
||||
if (blank_deleted_code)
|
||||
for (i = 0; i < input_line_count; i++)
|
||||
line[lines++] = "+"
|
||||
else
|
||||
lines_deleted += input_line_count
|
||||
}
|
||||
}
|
||||
|
||||
@@ -349,8 +358,8 @@ BEGIN {
|
||||
printf "Error: kernel version (%s) is out of range.\n", kernel_version
|
||||
exit 1
|
||||
}
|
||||
if (delete_disabled_code != 0 && delete_disabled_code != 1)
|
||||
delete_disabled_code = 0
|
||||
if (blank_deleted_code != 0 && blank_deleted_code != 1)
|
||||
blank_deleted_code = 0
|
||||
if (generating_upstream_patch_defined != 0 && generating_upstream_patch_defined != 1)
|
||||
generating_upstream_patch_defined = 0
|
||||
if (config_tcp_zero_copy_transfer_completion_notification_undefined != 0 && config_tcp_zero_copy_transfer_completion_notification_undefined != 1)
|
||||
@@ -385,10 +394,16 @@ BEGIN {
|
||||
dump_lines()
|
||||
match($0, "^@@ -([0-9]*),([0-9]*) \\+([0-9]*),([0-9]*) @@(.*)$", h)
|
||||
}
|
||||
else if (delete_disabled_code && delete_next_blank_line && match($0, "^+$"))
|
||||
else if (delete_next_blank_line && match($0, "^+$"))
|
||||
{
|
||||
lines_deleted += input_line_count
|
||||
delete_next_blank_line = 0
|
||||
if (blank_deleted_code)
|
||||
for (i = 0; i < input_line_count; i++)
|
||||
line[lines++] = "+"
|
||||
else
|
||||
{
|
||||
lines_deleted += input_line_count
|
||||
delete_next_blank_line = 0
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -397,16 +412,22 @@ BEGIN {
|
||||
{
|
||||
process_preprocessor_statement()
|
||||
}
|
||||
else if (delete_disabled_code == 0 || output)
|
||||
else if (output)
|
||||
{
|
||||
# Store the lines that were just read.
|
||||
for (i = 0; i < input_line_count; i++)
|
||||
line[lines++]=input_line[i]
|
||||
line[lines++] = input_line[i]
|
||||
}
|
||||
else
|
||||
{
|
||||
# Discard the last read lines.
|
||||
lines_deleted += input_line_count
|
||||
if (blank_deleted_code)
|
||||
{
|
||||
for (i = 0; i < input_line_count; i++)
|
||||
line[lines++] = "+"
|
||||
}
|
||||
else
|
||||
lines_deleted += input_line_count
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user