1f08c3bdfSopenharmony_ciAdd Makefile rules to:
2f08c3bdfSopenharmony_ci	install freeze_*.sh scripts someplace?
3f08c3bdfSopenharmony_ci
4f08c3bdfSopenharmony_ciGenerate sample results
5f08c3bdfSopenharmony_ci	Post these appropriately along with patch adding tests to LTP
6f08c3bdfSopenharmony_ci
7f08c3bdfSopenharmony_ciGenerate patch adding these tests to the controllers (cgroup) suite
8f08c3bdfSopenharmony_ci	NOTE: How to clearly represent dependency of containers test
9f08c3bdfSopenharmony_ci		suite on the controllers suite once this is done?
10f08c3bdfSopenharmony_ci		Do nothing?
11f08c3bdfSopenharmony_ci
12f08c3bdfSopenharmony_ciWrite new test scripts using Cedric's fork_exec_loop.c test.
13f08c3bdfSopenharmony_ci
14f08c3bdfSopenharmony_ciAdd assert_sample_proc_died to lib.sh and call it from freeze_{sleep|kill}_thaw.sh
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_ciChange all of the:
17f08c3bdfSopenharmony_ci	echo "ERROR: ..."
18f08c3bdfSopenharmony_ci	echo "INFO: ..."
19f08c3bdfSopenharmony_ci	echo "WARNING: ..."
20f08c3bdfSopenharmony_ci	(NOTE: some of these give options to the echo cmd)
21f08c3bdfSopenharmony_cilines to use appropriate LTP API commands. This also entails replacing these
22f08c3bdfSopenharmony_ciwith appropriate LTP API usage:
23f08c3bdfSopenharmony_ci
24f08c3bdfSopenharmony_ci./libcgroup_subsys:828:	assert_cgroup_freezer_state "FROZEN" "ERROR: failed to freeze cgroup"
25f08c3bdfSopenharmony_ci./libcgroup_subsys:846:	assert_cgroup_freezer_state "THAWED" "ERROR: Failed to thaw cgroup."
26f08c3bdfSopenharmony_ci./freezer/freeze_move_thaw.sh:22:			"ERROR: cgroup freezer started in non-THAWED state"
27f08c3bdfSopenharmony_ci./freezer/freeze_cancel.sh:18:			"ERROR: cgroup freezer started in non-THAWED state"
28f08c3bdfSopenharmony_ci./freezer/prereq.sh:10:tst_resm TINFO " It's ok if there's an ERROR before the next INFO."
29f08c3bdfSopenharmony_ci./freezer/prereq.sh:12:tst_resm TINFO " OK, resume worrying about ERRORS."
30f08c3bdfSopenharmony_ci./freezer/freeze_self_thaw.sh:31:		"ERROR: cgroup freezer started in non-THAWED state" && {
31f08c3bdfSopenharmony_ci./freezer/freeze_thaw.sh:17:			"ERROR: cgroup freezer started in non-THAWED state"
32f08c3bdfSopenharmony_ci./freezer/stop_freeze_thaw_cont.sh:18:			"ERROR: cgroup freezer started in non-THAWED state"
33f08c3bdfSopenharmony_ci./freezer/freeze_write_freezing.sh:16:			"ERROR: cgroup freezer started in non-THAWED state"
34f08c3bdfSopenharmony_ci./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)"
35f08c3bdfSopenharmony_ci./freezer/stop_freeze_sleep_thaw_cont.sh:18:			"ERROR: cgroup freezer started in non-THAWED state"
36f08c3bdfSopenharmony_ci./freezer/TODO:3:		echo "ERROR: ..."
37f08c3bdfSopenharmony_ci./freezer/freeze_sleep_thaw.sh:21:			"ERROR: cgroup freezer started in non-THAWED state"
38f08c3bdfSopenharmony_ci./freezer/vfork_freeze.sh:10:	echo "ERROR: Failed to build vfork test binary." 1>&2
39f08c3bdfSopenharmony_ci./freezer/vfork_freeze.sh:36:		"ERROR: cgroup freezer started in non-THAWED state" && {
40f08c3bdfSopenharmony_ci./freezer/freeze_kill_thaw.sh:19:			"ERROR: cgroup freezer started in non-THAWED state"
41f08c3bdfSopenharmony_ci./freezer/vfork.c:37:perror("ERROR at " __FILE__ ":" str_expand(__LINE__) ": " s )
42f08c3bdfSopenharmony_ci./freezer/write_freezing.sh:16:			"ERROR: cgroup freezer started in non-THAWED state"
43f08c3bdfSopenharmony_ci./freezer/write_freezing.sh:19:	assert_cgroup_freezer_state "THAWED" "ERROR: writing FREEZING to freezer.state should not change freezer state (expected IO error)"
44f08c3bdfSopenharmony_ciBinary file ./freezer/vfork matches
45f08c3bdfSopenharmony_ci./testskel.c:53:		exit(EXIT_FAILURE);
46f08c3bdfSopenharmony_ci./testskel.c:61:			exit(EXIT_FAILURE);
47f08c3bdfSopenharmony_ci./freezer/vfork.c:58:			exit(EXIT_FAILURE);
48f08c3bdfSopenharmony_ci./freezer/vfork.c:180:				exit(EXIT_FAILURE);
49f08c3bdfSopenharmony_ci./freezer/vfork.c:186:			exit(EXIT_FAILURE);
50f08c3bdfSopenharmony_ci./freezer/vfork.c:268:			exit(EXIT_FAILURE);
51f08c3bdfSopenharmony_ci./freezer/vfork.c:287:			exit(EXIT_FAILURE);
52f08c3bdfSopenharmony_ci./freezer/vfork.c:300:		exit(EXIT_FAILURE);
53f08c3bdfSopenharmony_ci./freezer/vfork.c:306:		exit(EXIT_FAILURE);
54f08c3bdfSopenharmony_ci./freezer/vfork.c:323:			exit(EXIT_FAILURE);
55f08c3bdfSopenharmony_ci./freezer/vfork.c:327:			exit(EXIT_FAILURE);
56f08c3bdfSopenharmony_ci./signal/prereq.sh:9:tst_resm TINFO " It's ok if there's an ERROR before the next INFO."
57f08c3bdfSopenharmony_ci./signal/stop_kill.sh:21:	echo -n "INFO: Killing $sample_proc ..."
58f08c3bdfSopenharmony_ci./signal/TODO:4:		echo "INFO: ..."
59f08c3bdfSopenharmony_ci./signal/kill.sh:20:	echo -n "INFO: Killing $sample_proc ..."
60f08c3bdfSopenharmony_ci./signal/stop_sleep_cont.sh:26:	echo -n "INFO: Waiting until sleep command should have finished ($sample_proc) ... "
61f08c3bdfSopenharmony_ci./libcgroup_subsys:57:		tst_resm INFO "Failed to mount cgroup filesystem with ${cgroup_subsys} subsystem."
62f08c3bdfSopenharmony_ci./freezer/prereq.sh:10:tst_resm TINFO " It's ok if there's an ERROR before the next INFO."
63f08c3bdfSopenharmony_ci./freezer/stop_freeze_sleep_thaw_cont.sh:30:	echo -n "INFO: Waiting until sleep command should have finished ($sample_proc) ... "
64f08c3bdfSopenharmony_ci./freezer/TODO:4:		echo "INFO: ..."
65f08c3bdfSopenharmony_ci./freezer/freeze_sleep_thaw.sh:26:	echo -n "INFO: Waiting until sleep command should have finished ($sample_proc) ... "
66f08c3bdfSopenharmony_ci./freezer/freeze_kill_thaw.sh:29:	echo -n "INFO: Killing $sample_proc ..."
67f08c3bdfSopenharmony_ci./freezer/vfork.c:95:	if (ptrace(PTRACE_GETSIGINFO, child, NULL, &info) == -1) {
68f08c3bdfSopenharmony_ci./freezer/vfork.c:202:	if (ptrace(PTRACE_GETSIGINFO, gchild, NULL, &info) == -1) {
69f08c3bdfSopenharmony_ci	Port vfork.c and fork_exec_loop.c to use LTP APIs where appropriate?
70f08c3bdfSopenharmony_ci
71f08c3bdfSopenharmony_ci	Write a test using two sample cgroups (A and B). Freeze A. Move tasks
72f08c3bdfSopenharmony_ci		from A to B. Make sure the state of the moved task is concistent
73f08c3bdfSopenharmony_ci		with the state of the B group. Make sure it's possible to unfreeze
74f08c3bdfSopenharmony_ci		the moved tasks in a "user-friendly" way.
75f08c3bdfSopenharmony_ci
76f08c3bdfSopenharmony_ciWrite new test scripts using Cedric's fork_exec_loop.c test.
77f08c3bdfSopenharmony_ci
78f08c3bdfSopenharmony_cifreeze_cancel.sh isn't guaranteed to try to thaw the cgroup while the cgroup is
79f08c3bdfSopenharmony_ci	in the freezing state. It might be nice to find a way to guarantee that
80f08c3bdfSopenharmony_ci	otherwise we aren't guaranteed to test the ability to cancel freezing.
81f08c3bdfSopenharmony_ci
82f08c3bdfSopenharmony_cifreeze_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.
83f08c3bdfSopenharmony_ci
84f08c3bdfSopenharmony_ciMake use of TMPDIR and mktemp for tmp.txt in vfork_freeze.sh
85