summaryrefslogtreecommitdiff
path: root/runner/job_list.h
blob: f8bbbddc99f1afa0d87e0fc52512413d484ef4f3 (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef RUNNER_JOB_LIST_H
#define RUNNER_JOB_LIST_H

#include <stdbool.h>

#include "settings.h"

struct job_list_entry {
	char *binary;
	char **subtests;
	/*
	 * 0 = all, or test has no subtests.
	 *
	 * If the original job_list was to run all subtests of a
	 * binary and such a run was incomplete, resuming from the
	 * execution journal will fill the subtest array with already
	 * started subtests prepended with '!' so the test binary will
	 * not run them. subtest_count will still reflect the size of
	 * the above array.
	 */
	size_t subtest_count;
};

struct job_list
{
	struct job_list_entry *entries;
	size_t size;
};

void generate_piglit_name(const char *binary, const char *subtest,
			  char *namebuf, size_t namebuf_size);

void init_job_list(struct job_list *job_list);
void free_job_list(struct job_list *job_list);
bool create_job_list(struct job_list *job_list, struct settings *settings);

bool serialize_job_list(struct job_list *job_list, struct settings *settings);
bool read_job_list(struct job_list *job_list, int dirfd);

#endif