- tests/lib/utilunix__my_system-fork_child_shell.c
This source file includes following definitions.
- START_TEST
- main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #define TEST_SUITE_NAME "/lib/utilunix"
27
28 #include "tests/mctest.h"
29
30 #include "lib/util.h"
31 #include "lib/utilunix.h"
32
33 #include "utilunix__my_system-common.c"
34
35
36
37
38 START_TEST (fork_child_as_shell)
39
40 {
41 int actual_value;
42
43 fork__return_value = 0;
44
45
46 actual_value = my_system (EXECUTE_AS_SHELL, "/bin/shell", "some command");
47
48
49 ck_assert_int_eq (actual_value, 0);
50
51 VERIFY_SIGACTION_CALLS ();
52 VERIFY_SIGNAL_CALLS ();
53
54 mctest_assert_str_eq (execvp__file__captured, "/bin/shell");
55 ck_assert_int_eq (execvp__args__captured->len, 3);
56
57 mctest_assert_str_eq (g_ptr_array_index (execvp__args__captured, 0), "/bin/shell");
58 mctest_assert_str_eq (g_ptr_array_index (execvp__args__captured, 1), "-c");
59 mctest_assert_str_eq (g_ptr_array_index (execvp__args__captured, 2), "some command");
60
61
62 ck_assert_int_eq (my_exit__status__captured, 127);
63 }
64
65 END_TEST
66
67
68
69
70 int
71 main (void)
72 {
73 TCase *tc_core;
74
75 tc_core = tcase_create ("Core");
76
77 tcase_add_checked_fixture (tc_core, setup, teardown);
78
79
80 tcase_add_test (tc_core, fork_child_as_shell);
81
82
83 return mctest_run_all (tc_core);
84 }
85
86