Mercurial > sci
comparison scid/page-index.c @ 73:b0d1166de7d3
themes: improve status
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 24 Jan 2023 10:51:48 +0100 |
parents | bc617784ec97 |
children | 070d8c92ca30 |
comparison
equal
deleted
inserted
replaced
72:3a5ecc40451a | 73:b0d1166de7d3 |
---|---|
26 #include "util.h" | 26 #include "util.h" |
27 | 27 |
28 static void | 28 static void |
29 set_job_status(json_t *project, json_t *job, json_t *jobresults, size_t *ns, size_t *nf) | 29 set_job_status(json_t *project, json_t *job, json_t *jobresults, size_t *ns, size_t *nf) |
30 { | 30 { |
31 json_t *iter, *status; | 31 const char *status; |
32 json_t *iter; | |
32 int exitcode, sigcode; | 33 int exitcode, sigcode; |
33 size_t i; | 34 size_t i; |
34 | 35 |
35 /* Compute number of failures and number of success. */ | 36 /* Compute number of failures and number of success. */ |
36 json_array_foreach(jobresults, i, iter) { | 37 json_array_foreach(jobresults, i, iter) { |
40 (*ns)++; | 41 (*ns)++; |
41 else | 42 else |
42 (*nf)++; | 43 (*nf)++; |
43 } | 44 } |
44 | 45 |
45 /* At least one failed, set status to false. */ | 46 /* |
46 json_object_set_new(job, "status", json_boolean(nf)); | 47 * We have three possibilities: |
48 * | |
49 * - unknown: no result performed, | |
50 * - success: all results were successful, | |
51 * - failed: at least one has failed. | |
52 */ | |
53 if (*nf == 0 && *ns == 0) | |
54 status = "unknown"; | |
55 else if (*nf > 0) | |
56 status = "failed"; | |
57 else | |
58 status = "success"; | |
59 | |
60 json_object_set_new(job, "status", json_string(status)); | |
47 } | 61 } |
48 | 62 |
49 static void | 63 static void |
50 set_project_jobs(json_t *project, json_t *jobs) | 64 set_project_jobs(json_t *project, json_t *jobs) |
51 { | 65 { |