const char *output;
};
-static void *do_run_tests(struct manifest *m)
+static void *do_run_tests(struct manifest *m,
+ bool keep,
+ unsigned int *timeleft)
{
struct list_head *list = talloc(m, struct list_head);
struct run_tests_result *res;
struct ccan_file *i;
char *cmdout;
- char *olddir;
-
- /* We run tests in the module directory, so any paths
- * referenced can all be module-local. */
- olddir = talloc_getcwd(m);
- if (!olddir)
- err(1, "Could not save cwd");
- if (chdir(m->dir) != 0)
- err(1, "Could not chdir to %s", m->dir);
list_head_init(list);
list_for_each(&m->run_tests, i, list) {
run_tests.total_score++;
- /* FIXME: timeout here */
- cmdout = run_command(m, i->compiled);
+ cmdout = run_command(m, timeleft, i->compiled);
if (cmdout) {
res = talloc(list, struct run_tests_result);
res->file = i;
list_for_each(&m->api_tests, i, list) {
run_tests.total_score++;
- /* FIXME: timeout here */
- cmdout = run_command(m, i->compiled);
+ cmdout = run_command(m, timeleft, i->compiled);
if (cmdout) {
res = talloc(list, struct run_tests_result);
res->file = i;
list = NULL;
}
- if (chdir(olddir) != 0)
- err(1, "Could not chdir to %s", olddir);
-
return list;
}