tmpnam(open->name_err);
tmpnam(open->name_out);
#else
- tmpnam_s(open->name_err, L_tmpnam);
- tmpnam_s(open->name_out, L_tmpnam);
+ tmpnam_s(open->name_err, L_tmpnam);
+ tmpnam_s(open->name_out, L_tmpnam);
#endif
(void)mode; /* excluded */
return open->handles;
}
- static void task_pclose(FILE **files) {
+ static int task_pclose(FILE **files) {
popen_t *open = ((popen_t*)files);
fs_file_close(files[1]);
fs_file_close(files[2]);
remove(open->name_out);
mem_d(open);
+
+ return EXIT_SUCCESS;
}
-# define popen _popen
-# define pclose _pclose
+# define popen _popen
+# define pclose _pclose
#endif /*! _WIN32 */
#define TASK_COMPILE 0
goto failure;
}
- if (value && (*value == ' ' || *value == '\t'))
- value++;
-
/*
* Value will contain a newline character at the end, we need to strip
* this otherwise kaboom, seriously, kaboom :P
static bool task_trymatch(size_t i, char ***line) {
bool success = true;
bool process = true;
+ int retval = EXIT_SUCCESS;
FILE *execute;
char buffer[4096];
task_template_t *tmpl = task_tasks[i].tmpl;
data = NULL;
size = 0;
}
+
+ if (compare != vec_size(tmpl->comparematch))
+ success = false;
+
mem_d(data);
data = NULL;
}
if (process)
- pclose(execute);
+ retval = pclose(execute);
else
fs_file_close(execute);
- return success;
+ return success && retval == EXIT_SUCCESS;
}
static const char *task_type(task_template_t *tmpl) {
succeed = test_perform("tests", defs);
stat_info();
-
return (succeed) ? EXIT_SUCCESS : EXIT_FAILURE;
}