Adding upstream version 2.25.15.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
10737b110a
commit
b543f2e88d
485 changed files with 191459 additions and 0 deletions
297
test/bashisms/unknown-fns.sh
Normal file
297
test/bashisms/unknown-fns.sh
Normal file
|
@ -0,0 +1,297 @@
|
|||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# #
|
||||
# Copyright (c) 2009 FUJITSU LIMITED #
|
||||
# #
|
||||
# This program is free software; you can redistribute it and#or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
# the Free Software Foundation; either version 2 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but #
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY #
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License #
|
||||
# for more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License #
|
||||
# along with this program; if not, write to the Free Software #
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
# #
|
||||
# Author: Miao Xie <miaox@cn.fujitsu.com> #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
cd $LTPROOT/testcases/bin
|
||||
|
||||
. ./cpuset_funcs.sh
|
||||
|
||||
export TCID="cpuset01"
|
||||
export TST_TOTAL=97
|
||||
export TST_COUNT=1
|
||||
|
||||
nr_cpus=$NR_CPUS
|
||||
nr_mems=$N_NODES
|
||||
|
||||
cpus_all="$(seq -s, 0 $((nr_cpus-1)))"
|
||||
mems_all="$(seq -s, 0 $((nr_mems-1)))"
|
||||
|
||||
exit_status=0
|
||||
|
||||
cfile_name=
|
||||
|
||||
# base_op_write_and_test <write_file_name> <write_string> <expect_string>
|
||||
base_op_write_and_test()
|
||||
{
|
||||
local write_file="$1"
|
||||
local write_string="$2"
|
||||
local expect_string="$3"
|
||||
local write_result=
|
||||
local ret=0
|
||||
|
||||
mkdir -p "$(dirname $write_file)" || {
|
||||
tst_brkm TFAIL "Failed to mkdir -p $(basename $write_file)"
|
||||
return 1
|
||||
}
|
||||
[ "$write_string" = NULL ] && write_string=" "
|
||||
|
||||
/bin/echo "$write_string" > "$write_file" 2> $CPUSET_TMP/stderr
|
||||
ret=$?
|
||||
write_result="$(cat "$write_file")"
|
||||
|
||||
case "$expect_string" in
|
||||
EMPTY)
|
||||
test -z "$write_result" -a $ret = 0
|
||||
ret=$?
|
||||
;;
|
||||
WRITE_ERROR)
|
||||
ret=$((!$ret))
|
||||
;;
|
||||
*)
|
||||
test "$expect_string" = "$write_result" -a $ret = 0
|
||||
ret=$?
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ $ret -eq 0 ]; then
|
||||
tst_resm TPASS "$cfile_name: Get the expected string"
|
||||
else
|
||||
tst_resm TFAIL "$cfile_name: Test result - $write_result Expected string - \"$expect_string\""
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
base_op_test()
|
||||
{
|
||||
setup
|
||||
if [ $? -ne 0 ]; then
|
||||
exit_status=1
|
||||
else
|
||||
base_op_write_and_test "$@"
|
||||
if [ $? -ne 0 ]; then
|
||||
exit_status=1
|
||||
fi
|
||||
|
||||
cleanup
|
||||
if [ $? -ne 0 ]; then
|
||||
exit_status=1
|
||||
fi
|
||||
fi
|
||||
: $((TST_COUNT++)) #BASHISM
|
||||
}
|
||||
|
||||
test_cpus()
|
||||
{
|
||||
cfile_name="cpus"
|
||||
while read cpus result
|
||||
do
|
||||
base_op_test "$CPUSET/1/cpus" "$cpus" "$result"
|
||||
done <<- EOF
|
||||
NULL EMPTY
|
||||
0 0
|
||||
$nr_cpus WRITE_ERROR
|
||||
$cpus_all 0-$((nr_cpus-1))
|
||||
${cpus_all}$nr_cpus WRITE_ERROR
|
||||
0,0 0
|
||||
0-0 0
|
||||
0-$((nr_cpus-1)) 0-$((nr_cpus-1))
|
||||
-1 WRITE_ERROR
|
||||
0-$nr_cpus WRITE_ERROR
|
||||
0- WRITE_ERROR
|
||||
0--$((nr_cpus-1)) WRITE_ERROR
|
||||
0,1-$((nr_cpus-2)),$((nr_cpus-1)) 0-$((nr_cpus-1))
|
||||
0,1-$((nr_cpus-2)), 0-$((nr_cpus-2))
|
||||
0AAA WRITE_ERROR
|
||||
AAA WRITE_ERROR
|
||||
EOF
|
||||
# while read cpus result
|
||||
}
|
||||
|
||||
test_mems()
|
||||
{
|
||||
cfile_name="mems"
|
||||
while read mems result
|
||||
do
|
||||
base_op_test "$CPUSET/1/mems" "$mems" "$result"
|
||||
done <<- EOF
|
||||
NULL EMPTY
|
||||
0 0
|
||||
$nr_mems WRITE_ERROR
|
||||
$mems_all 0-$((nr_mems-1))
|
||||
${mems_all}$nr_mems WRITE_ERROR
|
||||
0,0 0
|
||||
0-0 0
|
||||
0-$((nr_mems-1)) 0-$((nr_mems-1))
|
||||
-1 WRITE_ERROR
|
||||
0-$nr_mems WRITE_ERROR
|
||||
0- WRITE_ERROR
|
||||
0--$((nr_mems-1)) WRITE_ERROR
|
||||
0,1-$((nr_mems-2)),$((nr_mems-1)) 0-$((nr_mems-1))
|
||||
0,1-$((nr_mems-2)), 0-$((nr_mems-2))
|
||||
0AAA WRITE_ERROR
|
||||
AAA WRITE_ERROR
|
||||
EOF
|
||||
# while read mems result
|
||||
}
|
||||
|
||||
test_flags()
|
||||
{
|
||||
for filename in cpu_exclusive mem_exclusive mem_hardwall \
|
||||
memory_migrate memory_spread_page memory_spread_slab \
|
||||
sched_load_balance memory_pressure_enabled
|
||||
do
|
||||
cfile_name="$filename"
|
||||
while read flags result
|
||||
do
|
||||
base_op_test "$CPUSET/$filename" "$flags" "$result"
|
||||
done <<- EOF
|
||||
NULL 0
|
||||
0 0
|
||||
1 1
|
||||
-1 WRITE_ERROR
|
||||
A WRITE_ERROR
|
||||
2 1
|
||||
EOF
|
||||
# while read flags, result
|
||||
done # for filename in flagfiles
|
||||
}
|
||||
|
||||
test_domain()
|
||||
{
|
||||
cfile_name="sched_relax_domain_level"
|
||||
while read domain_level result
|
||||
do
|
||||
base_op_test "$CPUSET/sched_relax_domain_level" "$domain_level" "$result"
|
||||
done <<- EOF
|
||||
NULL 0
|
||||
0 0
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 WRITE_ERROR
|
||||
-1 -1
|
||||
-2 WRITE_ERROR
|
||||
A WRITE_ERROR
|
||||
EOF
|
||||
# while read domain_level result
|
||||
}
|
||||
|
||||
# attach_task_test <cpus> <mems> <expect>
|
||||
attach_task_test()
|
||||
{
|
||||
local cpus=$1
|
||||
local mems=$2
|
||||
local expect=$3
|
||||
|
||||
local pid=
|
||||
local ret=
|
||||
|
||||
setup
|
||||
if [ $? -ne 0 ]; then
|
||||
exit_status=1
|
||||
cleanup
|
||||
((TST_COUNT++)) #BASHISM
|
||||
return
|
||||
fi
|
||||
|
||||
# create sub cpuset
|
||||
mkdir "$CPUSET/sub_cpuset" > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
exit_status=1
|
||||
cleanup
|
||||
((TST_COUNT++)) # BASHISM
|
||||
return
|
||||
fi
|
||||
|
||||
if [ "$cpus" != "NULL" ]; then
|
||||
echo $cpus > "$CPUSET/sub_cpuset/cpus"
|
||||
fi
|
||||
if [ "$mems" != "NULL" ]; then
|
||||
echo $mems > "$CPUSET/sub_cpuset/mems"
|
||||
fi
|
||||
|
||||
cat /dev/zero > /dev/null &
|
||||
pid=$!
|
||||
|
||||
# attach task into the cpuset group
|
||||
echo $pid > "$CPUSET/sub_cpuset/tasks" 2> /dev/null
|
||||
if [ $? -eq $expect ]; then
|
||||
tst_resm TPASS "Attaching Task Test succeeded!!"
|
||||
else
|
||||
tst_resm TFAIL "Attaching Task Test failed!! cpus - \"$cpus\", mems - \"$mems\", Expect - \"$expect\", Fact - \"$ret\". (0 - Attach Success, 1 - Attach Fail)"
|
||||
exit_status=1
|
||||
fi
|
||||
|
||||
/bin/kill $pid &> /dev/null # BASHISM
|
||||
cleanup
|
||||
if [ $? -ne 0 ]; then
|
||||
exit_status=1
|
||||
fi
|
||||
((TST_COUNT++)) # BASHISM
|
||||
}
|
||||
|
||||
|
||||
test_attach_task()
|
||||
{
|
||||
cfile_name="tasks"
|
||||
while read cpus mems expect
|
||||
do
|
||||
attach_task_test "$cpus" "$mems" "$expect"
|
||||
done <<- EOF
|
||||
0 NULL 1
|
||||
0 0 0
|
||||
NULL 0 1
|
||||
EOF
|
||||
# while read cpus mems expect
|
||||
}
|
||||
|
||||
test_readonly_cfiles()
|
||||
{
|
||||
for filename in cpus mems memory_pressure
|
||||
do
|
||||
cfile_name="$filename(READONLY)"
|
||||
base_op_test "$CPUSET/$filename" "0" "WRITE_ERROR"
|
||||
done # for filename in readonly cfiles
|
||||
}
|
||||
|
||||
# Case 1-3
|
||||
test_readonly_cfiles
|
||||
|
||||
# Case 4-19
|
||||
test_cpus
|
||||
|
||||
# Case 20-35
|
||||
test_mems
|
||||
|
||||
# Case 36-83
|
||||
test_flags
|
||||
|
||||
# Case 84-94
|
||||
test_domain
|
||||
|
||||
# Case 95-97
|
||||
test_attach_task
|
||||
|
||||
exit $exit_status
|
Loading…
Add table
Add a link
Reference in a new issue