if (strchr(value, '\n'))
*strrchr(value, '\n')='\0';
else /* cppcheck: possible nullpointer dereference */
- abort();
+ exit(EXIT_FAILURE);
/*
* Now allocate and set the actual value for the specific tag. Which
if (strrchr(value, '\n'))
*strrchr(value, '\n')='\0';
else /* cppcheck: possible null pointer dereference */
- abort();
+ exit(EXIT_FAILURE);
vec_push(tmpl->comparematch, util_strdup(value));
char buffer[4096];
size_t found = 0;
- dir = opendir(curdir);
+ dir = fs_dir_open(curdir);
- while ((files = readdir(dir))) {
+ while ((files = fs_dir_read(dir))) {
snprintf(buffer, sizeof(buffer), "%s/%s", curdir, files->d_name);
if (stat(buffer, &directory) == -1) {
found
);
- closedir(dir);
+ fs_dir_close(dir);
return success;
}
struct dirent *files;
char buffer[4096];
- dir = opendir(curdir);
+ dir = fs_dir_open(curdir);
- while ((files = readdir(dir))) {
+ while ((files = fs_dir_read(dir))) {
if (strstr(files->d_name, "TMP") ||
strstr(files->d_name, ".stdout") ||
strstr(files->d_name, ".stderr"))
}
}
- closedir(dir);
+ fs_dir_close(dir);
}
void task_destroy(void) {
* execution this takes more work since a task needs to be generated
* from thin air and executed INLINE.
*/
+#include <math.h>
void task_schedualize(size_t *pad) {
+ char space[2][64];
bool execute = false;
char *data = NULL;
char **match = NULL;
size_t size = 0;
- size_t i;
- size_t j;
+ size_t i = 0;
+ size_t j = 0;
- util_debug("TEST", "found %d tasks, preparing to execute\n", vec_size(task_tasks));
+ snprintf(space[0], sizeof(space[0]), "%d", (int)vec_size(task_tasks));
+
+ for (; i < vec_size(task_tasks); i++) {
+ memset(space[1], 0, sizeof(space[1]));
+ snprintf(space[1], sizeof(space[1]), "%d", (int)(i + 1));
+
+ con_out("test #%u %*s", i + 1, strlen(space[0]) - strlen(space[1]), "");
- for (i = 0; i < vec_size(task_tasks); i++) {
util_debug("TEST", "executing task: %d: %s\n", i, task_tasks[i].tmpl->description);
/*
* Generate a task from thin air if it requires execution in
task_tasks[i].compiled = false;
execute = false;
}
-
- fs_file_flush(task_tasks[i].stdoutlog);
}
while (fs_file_getline(&data, &size, task_tasks[i].runhandles[2]) != EOF) {
/*
}
fs_file_puts (task_tasks[i].stderrlog, data);
- fs_file_flush(task_tasks[i].stdoutlog);
}
if (!task_tasks[i].compiled && strcmp(task_tasks[i].tmpl->proceduretype, "-fail")) {
- con_err("test failure: `%s` (failed to compile) see %s.stdout and %s.stderr [%s]\n",
+ con_err("failure: `%s` (failed to compile) see %s.stdout and %s.stderr [%s]\n",
task_tasks[i].tmpl->description,
task_tasks[i].tmpl->tempfilename,
task_tasks[i].tmpl->tempfilename,
}
if (!execute) {
- con_out("test succeeded: `%s` %*s\n",
+ con_out("succeeded: `%s` %*s\n",
task_tasks[i].tmpl->description,
(pad[0] + pad[1] - strlen(task_tasks[i].tmpl->description)) +
(strlen(task_tasks[i].tmpl->rulesfile) - pad[1]),
if (!task_execute(task_tasks[i].tmpl, &match)) {
size_t d = 0;
- con_err("test failure: `%s` (invalid results from execution) [%s]\n",
+ con_err("failure: `%s` (invalid results from execution) [%s]\n",
task_tasks[i].tmpl->description,
task_tasks[i].tmpl->rulesfile
);
mem_d(match[j]);
vec_free(match);
- con_out("test succeeded: `%s` %*s\n",
+ con_out("succeeded: `%s` %*s\n",
task_tasks[i].tmpl->description,
(pad[0] + pad[1] - strlen(task_tasks[i].tmpl->description)) +
(strlen(task_tasks[i].tmpl->rulesfile) - pad[1]),