オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /trunk/1.6.x/ccs-tools/ccstools/kernel_test/tomoyo_env_test.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1743 by kumaneko, Mon Oct 20 14:21:31 2008 UTC revision 1744 by kumaneko, Thu Oct 23 05:42:28 2008 UTC
# Line 12  Line 12 
12    
13  static int is_enforce = 0;  static int is_enforce = 0;
14    
15  static void ShowPrompt(const char *str)  static void show_prompt(const char *str)
16  {  {
17          printf("Testing %40s: (%s) ", str,          printf("Testing %40s: (%s) ", str,
18                 is_enforce ? "must fail" : "should success");                 is_enforce ? "must fail" : "should success");
19          errno = 0;          errno = 0;
20  }  }
21    
22  static void ShowResult(int result)  static void show_result(int result)
23  {  {
24          if (is_enforce) {          if (is_enforce) {
25                  if (result == EOF) {                  if (result == EOF) {
# Line 38  static void ShowResult(int result) Line 38  static void ShowResult(int result)
38          }          }
39  }  }
40    
41  static void StageEnvTest(void)  static void stage_env_test(void)
42  {  {
43          static char buffer[1024];          static char buffer[1024];
44          char *argv[2] = { "true", NULL };          char *argv[2] = { "true", NULL };
# Line 47  static void StageEnvTest(void) Line 47  static void StageEnvTest(void)
47          memset(buffer, 0, sizeof(buffer));          memset(buffer, 0, sizeof(buffer));
48          {          {
49                  is_enforce = 0;                  is_enforce = 0;
50                  WriteStatus("MAC_FOR_ENV=2\n");                  write_status("MAC_FOR_ENV=2\n");
51                  if (fork() == 0) {                  if (fork() == 0) {
52                          execve("/bin/true", argv, envp);                          execve("/bin/true", argv, envp);
53                          _exit(errno);                          _exit(errno);
54                  }                  }
55                  snprintf(buffer, sizeof(buffer) - 1,                  snprintf(buffer, sizeof(buffer) - 1,
56                           "Executing /bin/true in permissive mode");                           "Executing /bin/true in permissive mode");
57                  ShowPrompt(buffer);                  show_prompt(buffer);
58                  wait(&status);                  wait(&status);
59                  errno = WEXITSTATUS(status);                  errno = WEXITSTATUS(status);
60                  ShowResult(errno ? EOF : 0);                  show_result(errno ? EOF : 0);
61    
62                  is_enforce = 1;                  is_enforce = 1;
63                  WriteStatus("MAC_FOR_ENV=3\n");                  write_status("MAC_FOR_ENV=3\n");
64                  if (fork() == 0) {                  if (fork() == 0) {
65                          execve("/bin/true", argv, envp);                          execve("/bin/true", argv, envp);
66                          _exit(errno);                          _exit(errno);
67                  }                  }
68                  snprintf(buffer, sizeof(buffer) - 1,                  snprintf(buffer, sizeof(buffer) - 1,
69                           "Executing /bin/true in enforce mode");                           "Executing /bin/true in enforce mode");
70                  ShowPrompt(buffer);                  show_prompt(buffer);
71                  wait(&status);                  wait(&status);
72                  errno = WEXITSTATUS(status);                  errno = WEXITSTATUS(status);
73                  ShowResult(errno ? EOF : 0);                  show_result(errno ? EOF : 0);
74    
75                  is_enforce = 0;                  is_enforce = 0;
76                  if (fork() == 0) {                  if (fork() == 0) {
# Line 80  static void StageEnvTest(void) Line 80  static void StageEnvTest(void)
80                  }                  }
81                  snprintf(buffer, sizeof(buffer) - 1,                  snprintf(buffer, sizeof(buffer) - 1,
82                           "Executing /bin/true in enforce mode");                           "Executing /bin/true in enforce mode");
83                  ShowPrompt(buffer);                  show_prompt(buffer);
84                  wait(&status);                  wait(&status);
85                  errno = WEXITSTATUS(status);                  errno = WEXITSTATUS(status);
86                  ShowResult(errno ? EOF : 0);                  show_result(errno ? EOF : 0);
87          }          }
88  }  }
89    
90  int main(int argc, char *argv[])  int main(int argc, char *argv[])
91  {  {
92          Init();          ccs_test_init();
93          StageEnvTest();          stage_env_test();
94          ClearStatus();          clear_status();
95          return 0;          return 0;
96  }  }

Legend:
Removed from v.1743  
changed lines
  Added in v.1744

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26