1*d83cc019SAndroid Build Coastguard Worker #ifndef RUNNER_JOB_LIST_H 2*d83cc019SAndroid Build Coastguard Worker #define RUNNER_JOB_LIST_H 3*d83cc019SAndroid Build Coastguard Worker 4*d83cc019SAndroid Build Coastguard Worker #include <stdbool.h> 5*d83cc019SAndroid Build Coastguard Worker 6*d83cc019SAndroid Build Coastguard Worker #include "settings.h" 7*d83cc019SAndroid Build Coastguard Worker 8*d83cc019SAndroid Build Coastguard Worker struct job_list_entry { 9*d83cc019SAndroid Build Coastguard Worker char *binary; 10*d83cc019SAndroid Build Coastguard Worker char **subtests; 11*d83cc019SAndroid Build Coastguard Worker /* 12*d83cc019SAndroid Build Coastguard Worker * 0 = all, or test has no subtests. 13*d83cc019SAndroid Build Coastguard Worker * 14*d83cc019SAndroid Build Coastguard Worker * If the original job_list was to run all subtests of a 15*d83cc019SAndroid Build Coastguard Worker * binary and such a run was incomplete, resuming from the 16*d83cc019SAndroid Build Coastguard Worker * execution journal will fill the subtest array with already 17*d83cc019SAndroid Build Coastguard Worker * started subtests prepended with '!' so the test binary will 18*d83cc019SAndroid Build Coastguard Worker * not run them. subtest_count will still reflect the size of 19*d83cc019SAndroid Build Coastguard Worker * the above array. 20*d83cc019SAndroid Build Coastguard Worker */ 21*d83cc019SAndroid Build Coastguard Worker size_t subtest_count; 22*d83cc019SAndroid Build Coastguard Worker }; 23*d83cc019SAndroid Build Coastguard Worker 24*d83cc019SAndroid Build Coastguard Worker struct job_list 25*d83cc019SAndroid Build Coastguard Worker { 26*d83cc019SAndroid Build Coastguard Worker struct job_list_entry *entries; 27*d83cc019SAndroid Build Coastguard Worker size_t size; 28*d83cc019SAndroid Build Coastguard Worker }; 29*d83cc019SAndroid Build Coastguard Worker 30*d83cc019SAndroid Build Coastguard Worker void generate_piglit_name(const char *binary, const char *subtest, 31*d83cc019SAndroid Build Coastguard Worker char *namebuf, size_t namebuf_size); 32*d83cc019SAndroid Build Coastguard Worker 33*d83cc019SAndroid Build Coastguard Worker void init_job_list(struct job_list *job_list); 34*d83cc019SAndroid Build Coastguard Worker void free_job_list(struct job_list *job_list); 35*d83cc019SAndroid Build Coastguard Worker bool create_job_list(struct job_list *job_list, struct settings *settings); 36*d83cc019SAndroid Build Coastguard Worker 37*d83cc019SAndroid Build Coastguard Worker bool serialize_job_list(struct job_list *job_list, struct settings *settings); 38*d83cc019SAndroid Build Coastguard Worker bool read_job_list(struct job_list *job_list, int dirfd); 39*d83cc019SAndroid Build Coastguard Worker void list_all_tests(struct job_list *lst); 40*d83cc019SAndroid Build Coastguard Worker 41*d83cc019SAndroid Build Coastguard Worker #endif 42