~xnox/upstart/async-remove-duplicate-event

« back to all changes in this revision

Viewing changes to init/tests/test_job_process.c

  • Committer: Dimitri John Ledkov
  • Date: 2014-05-21 19:43:12 UTC
  • Revision ID: dimitri.ledkov@canonical.com-20140521194312-ga5j89903ehyov71
More

Show diffs side-by-side

added added

removed removed

Lines of Context:
3045
3045
        output = tmpfile ();
3046
3046
        TEST_NE_P (output, NULL);
3047
3047
        TEST_DIVERT_STDERR (output) {
3048
 
                ret = job_process_run (job, PROCESS_MAIN);
3049
 
                TEST_LT (ret, 0);
 
3048
                job_process_start (job, PROCESS_MAIN);
 
3049
                TEST_WATCH_UPDATE ();
 
3050
                event_poll ();
3050
3051
        }
3051
3052
        fclose (output);
3052
3053
 
3094
3095
                job->goal = JOB_START;
3095
3096
                job->state = JOB_SPAWNED;
3096
3097
 
3097
 
                ret = job_process_run (job, PROCESS_MAIN);
3098
 
                TEST_LT (ret, 0);
 
3098
                job_process_start (job, PROCESS_MAIN);
 
3099
                TEST_WATCH_UPDATE ();
3099
3100
 
3100
3101
                /* We don't expect a logfile to be written since there is no
3101
3102
                 * accompanying shell to write the error.
3106
3107
                job->goal = JOB_STOP;
3107
3108
                job->state = JOB_POST_STOP;
3108
3109
 
3109
 
                ret = job_process_run (job, PROCESS_POST_STOP);
3110
 
                TEST_EQ (ret, 0);
 
3110
                job_process_start (job, PROCESS_POST_STOP);
3111
3111
 
3112
3112
                TEST_NE (job->pid[PROCESS_POST_STOP], 0);
 
3113
                TEST_WATCH_UPDATE ();
3113
3114
 
3114
3115
                /* Flush the io so that the shell on the client side
3115
3116
                 * gets the data (the script to execute).
3120
3121
                TEST_TRUE (WIFEXITED (status));
3121
3122
                TEST_EQ (WEXITSTATUS (status), 0);
3122
3123
 
 
3124
                TEST_WATCH_UPDATE ();
 
3125
 
3123
3126
                /* .. but the post stop should have written data */
3124
3127
                TEST_EQ (stat (filename, &statbuf), 0);
 
3128
                event_poll ();
3125
3129
        }
3126
3130
        fclose (output);
3127
3131
 
3174
3178
                job->goal = JOB_START;
3175
3179
                job->state = JOB_SPAWNED;
3176
3180
 
3177
 
                ret = job_process_run (job, PROCESS_MAIN);
3178
 
                TEST_LT (ret, 0);
 
3181
                job_process_start (job, PROCESS_MAIN);
 
3182
                TEST_WATCH_UPDATE ();
 
3183
                TEST_WATCH_UPDATE ();
3179
3184
 
3180
3185
                /* We don't expect a logfile to be written since there is no
3181
3186
                 * accompanying shell to write the error.
3186
3191
                job->goal = JOB_STOP;
3187
3192
                job->state = JOB_POST_STOP;
3188
3193
 
3189
 
                ret = job_process_run (job, PROCESS_POST_STOP);
3190
 
                TEST_EQ (ret, 0);
 
3194
                job_process_start (job, PROCESS_POST_STOP);
 
3195
                TEST_WATCH_UPDATE ();
3191
3196
 
3192
3197
                TEST_NE (job->pid[PROCESS_POST_STOP], 0);
3193
3198
 
3205
3210
 
3206
3211
                /* .. but the post stop should have written data */
3207
3212
                TEST_EQ (stat (filename, &statbuf), 0);
 
3213
                event_poll ();
3208
3214
        }
3209
3215
        fclose (output);
3210
3216