You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
5.0 KiB
85 lines
5.0 KiB
7 months ago
|
Add Makefile rules to:
|
||
|
install freeze_*.sh scripts someplace?
|
||
|
|
||
|
Generate sample results
|
||
|
Post these appropriately along with patch adding tests to LTP
|
||
|
|
||
|
Generate patch adding these tests to the controllers (cgroup) suite
|
||
|
NOTE: How to clearly represent dependency of containers test
|
||
|
suite on the controllers suite once this is done?
|
||
|
Do nothing?
|
||
|
|
||
|
Write new test scripts using Cedric's fork_exec_loop.c test.
|
||
|
|
||
|
Add assert_sample_proc_died to lib.sh and call it from freeze_{sleep|kill}_thaw.sh
|
||
|
|
||
|
Change all of the:
|
||
|
echo "ERROR: ..."
|
||
|
echo "INFO: ..."
|
||
|
echo "WARNING: ..."
|
||
|
(NOTE: some of these give options to the echo cmd)
|
||
|
lines to use appropriate LTP API commands. This also entails replacing these
|
||
|
with appropriate LTP API usage:
|
||
|
|
||
|
./libcgroup_subsys:828: assert_cgroup_freezer_state "FROZEN" "ERROR: failed to freeze cgroup"
|
||
|
./libcgroup_subsys:846: assert_cgroup_freezer_state "THAWED" "ERROR: Failed to thaw cgroup."
|
||
|
./freezer/freeze_move_thaw.sh:22: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/freeze_cancel.sh:18: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/prereq.sh:10:tst_resm TINFO " It's ok if there's an ERROR before the next INFO."
|
||
|
./freezer/prereq.sh:12:tst_resm TINFO " OK, resume worrying about ERRORS."
|
||
|
./freezer/freeze_self_thaw.sh:31: "ERROR: cgroup freezer started in non-THAWED state" && {
|
||
|
./freezer/freeze_thaw.sh:17: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/stop_freeze_thaw_cont.sh:18: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/freeze_write_freezing.sh:16: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/freeze_write_freezing.sh:21: assert_cgroup_freezer_state "FROZEN" "ERROR: writing FREEZING to freezer.state should not change freezer state from FROZEN (expected IO error)"
|
||
|
./freezer/stop_freeze_sleep_thaw_cont.sh:18: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/TODO:3: echo "ERROR: ..."
|
||
|
./freezer/freeze_sleep_thaw.sh:21: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/vfork_freeze.sh:10: echo "ERROR: Failed to build vfork test binary." 1>&2
|
||
|
./freezer/vfork_freeze.sh:36: "ERROR: cgroup freezer started in non-THAWED state" && {
|
||
|
./freezer/freeze_kill_thaw.sh:19: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/vfork.c:37:perror("ERROR at " __FILE__ ":" str_expand(__LINE__) ": " s )
|
||
|
./freezer/write_freezing.sh:16: "ERROR: cgroup freezer started in non-THAWED state"
|
||
|
./freezer/write_freezing.sh:19: assert_cgroup_freezer_state "THAWED" "ERROR: writing FREEZING to freezer.state should not change freezer state (expected IO error)"
|
||
|
Binary file ./freezer/vfork matches
|
||
|
./testskel.c:53: exit(EXIT_FAILURE);
|
||
|
./testskel.c:61: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:58: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:180: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:186: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:268: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:287: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:300: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:306: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:323: exit(EXIT_FAILURE);
|
||
|
./freezer/vfork.c:327: exit(EXIT_FAILURE);
|
||
|
./signal/prereq.sh:9:tst_resm TINFO " It's ok if there's an ERROR before the next INFO."
|
||
|
./signal/stop_kill.sh:21: echo -n "INFO: Killing $sample_proc ..."
|
||
|
./signal/TODO:4: echo "INFO: ..."
|
||
|
./signal/kill.sh:20: echo -n "INFO: Killing $sample_proc ..."
|
||
|
./signal/stop_sleep_cont.sh:26: echo -n "INFO: Waiting until sleep command should have finished ($sample_proc) ... "
|
||
|
./libcgroup_subsys:57: tst_resm INFO "Failed to mount cgroup filesystem with ${cgroup_subsys} subsystem."
|
||
|
./freezer/prereq.sh:10:tst_resm TINFO " It's ok if there's an ERROR before the next INFO."
|
||
|
./freezer/stop_freeze_sleep_thaw_cont.sh:30: echo -n "INFO: Waiting until sleep command should have finished ($sample_proc) ... "
|
||
|
./freezer/TODO:4: echo "INFO: ..."
|
||
|
./freezer/freeze_sleep_thaw.sh:26: echo -n "INFO: Waiting until sleep command should have finished ($sample_proc) ... "
|
||
|
./freezer/freeze_kill_thaw.sh:29: echo -n "INFO: Killing $sample_proc ..."
|
||
|
./freezer/vfork.c:95: if (ptrace(PTRACE_GETSIGINFO, child, NULL, &info) == -1) {
|
||
|
./freezer/vfork.c:202: if (ptrace(PTRACE_GETSIGINFO, gchild, NULL, &info) == -1) {
|
||
|
Port vfork.c and fork_exec_loop.c to use LTP APIs where appropriate?
|
||
|
|
||
|
Write a test using two sample cgroups (A and B). Freeze A. Move tasks
|
||
|
from A to B. Make sure the state of the moved task is concistent
|
||
|
with the state of the B group. Make sure it's possible to unfreeze
|
||
|
the moved tasks in a "user-friendly" way.
|
||
|
|
||
|
Write new test scripts using Cedric's fork_exec_loop.c test.
|
||
|
|
||
|
freeze_cancel.sh isn't guaranteed to try to thaw the cgroup while the cgroup is
|
||
|
in the freezing state. It might be nice to find a way to guarantee that
|
||
|
otherwise we aren't guaranteed to test the ability to cancel freezing.
|
||
|
|
||
|
freeze_self_thaw.sh might have a race between starting 'exec sleep $sample_sleep' and killing the process. This would result in being unable to remove the "child" cgroup which in turn might cause subsequent tests to fail.
|
||
|
|
||
|
Make use of TMPDIR and mktemp for tmp.txt in vfork_freeze.sh
|