Changeset 9b20126 in mainline for uspace/lib/pcut/src/os
- Timestamp:
- 2014-09-19T08:23:01Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c85a57f
- Parents:
- 15d0046
- Location:
- uspace/lib/pcut/src/os
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/pcut/src/os/generic.c
r15d0046 r9b20126 33 33 34 34 #include <stdlib.h> 35 #include <stdio.h> 35 36 #include <sys/types.h> 36 37 #include <errno.h> … … 50 51 /* Format the command to launch a test according to OS we are running on. */ 51 52 52 #if defined(__WIN64) || defined(__WIN32) 53 #if defined(__WIN64) || defined(__WIN32) || defined(_WIN32) 53 54 #include <process.h> 54 55 … … 108 109 */ 109 110 void pcut_run_test_forking(const char *self_path, pcut_item_t *test) { 111 int rc; 112 FILE *tempfile; 113 char tempfile_name[PCUT_TEMP_FILENAME_BUFFER_SIZE]; 114 char command[PCUT_COMMAND_LINE_BUFFER_SIZE]; 115 110 116 before_test_start(test); 111 117 112 char tempfile_name[PCUT_TEMP_FILENAME_BUFFER_SIZE];113 118 FORMAT_TEMP_FILENAME(tempfile_name, PCUT_TEMP_FILENAME_BUFFER_SIZE - 1); 114 115 char command[PCUT_COMMAND_LINE_BUFFER_SIZE];116 119 FORMAT_COMMAND(command, PCUT_COMMAND_LINE_BUFFER_SIZE - 1, 117 120 self_path, (test)->id, tempfile_name); 121 122 PCUT_DEBUG("Will execute <%s> (temp file <%s>) with system().", 123 command, tempfile_name); 118 124 119 int rc = system(command); 125 rc = system(command); 126 127 PCUT_DEBUG("system() returned 0x%04X", rc); 128 120 129 rc = convert_wait_status_to_outcome(rc); 121 130 122 FILE *tempfile = fopen(tempfile_name, "rb");131 tempfile = fopen(tempfile_name, "rb"); 123 132 if (tempfile == NULL) { 124 133 pcut_report_test_done(test, TEST_OUTCOME_ERROR, "Failed to open temporary file.", NULL, NULL); … … 133 142 } 134 143 144 void pcut_hook_before_test(pcut_item_t *test) { 145 PCUT_UNUSED(test); 146 147 /* Do nothing. */ 148 } 149 -
uspace/lib/pcut/src/os/helenos.c
r15d0046 r9b20126 185 185 int status = TEST_OUTCOME_PASS; 186 186 187 int rc = task_spawnvf(&test_task_id, self_path, arguments, files); 187 task_wait_t test_task_wait; 188 int rc = task_spawnvf(&test_task_id, &test_task_wait, self_path, arguments, files); 188 189 if (rc != EOK) { 189 190 status = TEST_OUTCOME_ERROR; … … 203 204 task_exit_t task_exit; 204 205 int task_retval; 205 rc = task_wait( test_task_id, &task_exit, &task_retval);206 rc = task_wait(&test_task_wait, &task_exit, &task_retval); 206 207 if (rc != EOK) { 207 208 status = TEST_OUTCOME_ERROR; … … 227 228 pcut_report_test_done_unparsed(test, status, extra_output_buffer, OUTPUT_BUFFER_SIZE); 228 229 } 230 231 void pcut_hook_before_test(pcut_item_t *test) { 232 PCUT_UNUSED(test); 233 234 /* Do nothing. */ 235 } -
uspace/lib/pcut/src/os/unix.c
r15d0046 r9b20126 32 32 */ 33 33 34 /** We need _POS X_SOURCE because of kill(). */34 /** We need _POSIX_SOURCE because of kill(). */ 35 35 #define _POSIX_SOURCE 36 /** We need _BSD_SOURCE because of snprintf() when compiling under C89. */ 37 #define _BSD_SOURCE 36 38 #include <stdlib.h> 37 39 #include <unistd.h> … … 137 139 */ 138 140 void pcut_run_test_forking(const char *self_path, pcut_item_t *test) { 141 int link_stdout[2], link_stderr[2]; 142 int rc, status; 143 size_t stderr_size; 144 139 145 PCUT_UNUSED(self_path); 140 146 141 147 before_test_start(test); 142 148 143 int link_stdout[2], link_stderr[2]; 144 145 int rc = pipe(link_stdout); 149 150 rc = pipe(link_stdout); 146 151 if (rc == -1) { 147 152 snprintf(error_message_buffer, OUTPUT_BUFFER_SIZE - 1, … … 184 189 alarm(pcut_get_test_timeout(test)); 185 190 186 s ize_t stderr_size = read_all(link_stderr[0], extra_output_buffer, OUTPUT_BUFFER_SIZE - 1);191 stderr_size = read_all(link_stderr[0], extra_output_buffer, OUTPUT_BUFFER_SIZE - 1); 187 192 read_all(link_stdout[0], extra_output_buffer, OUTPUT_BUFFER_SIZE - 1 - stderr_size); 188 193 189 int status;190 194 wait(&status); 191 195 alarm(0); … … 204 208 pcut_report_test_done_unparsed(test, rc, extra_output_buffer, OUTPUT_BUFFER_SIZE); 205 209 } 210 211 void pcut_hook_before_test(pcut_item_t *test) { 212 PCUT_UNUSED(test); 213 214 /* Do nothing. */ 215 } 216
Note:
See TracChangeset
for help on using the changeset viewer.