| 167 | } |
| 168 | |
| 169 | int |
| 170 | RegressionTest::check_status(int regression_level) |
| 171 | { |
| 172 | int status = REGRESSION_TEST_PASSED; |
| 173 | if (current) { |
| 174 | status = run_some(regression_level); |
| 175 | if (!current) { |
| 176 | return status; |
| 177 | } |
| 178 | } |
| 179 | |
| 180 | RegressionTest *t = test; |
| 181 | int exclusive = 0; |
| 182 | |
| 183 | check_test_list: |
| 184 | while (t) { |
| 185 | if ((t->status == REGRESSION_TEST_PASSED || t->status == REGRESSION_TEST_FAILED) && !t->printed) { |
| 186 | t->printed = true; |
| 187 | fprintf(stderr, " REGRESSION_RESULT %s:%*s %s\n", t->name, 40 - static_cast<int>(strlen(t->name)), " ", |
| 188 | regression_status_string(t->status)); |
| 189 | } |
| 190 | |
| 191 | switch (t->status) { |
| 192 | case REGRESSION_TEST_FAILED: |
| 193 | final_status = REGRESSION_TEST_FAILED; |
| 194 | break; |
| 195 | case REGRESSION_TEST_INPROGRESS: |
| 196 | printf("Regression test(%s) still in progress\n", t->name); |
| 197 | status = REGRESSION_TEST_INPROGRESS; |
| 198 | break; |
| 199 | default: |
| 200 | break; |
| 201 | } |
| 202 | t = t->next; |
| 203 | } |
| 204 | if (!exclusive) { |
| 205 | exclusive = 1; |
| 206 | t = exclusive_test; |
| 207 | goto check_test_list; |
| 208 | } |
| 209 | |
| 210 | return (status == REGRESSION_TEST_INPROGRESS) ? REGRESSION_TEST_INPROGRESS : final_status; |
| 211 | } |
| 212 | |
| 213 | int |
| 214 | RegressionTest::main(int /* argc */, const char **argv, int level) |
nothing calls this directly
no test coverage detected