char *preload = NULL;
size_t preloadlen = 0;
size_t i;
+ const struct keyval *env;
unsetenv("LD_PRELOAD");
setenv("LD_PRELOAD", preload, 1);
free(preload);
+
+ for (env = t->env_vars; env && env->key; env++)
+ setenv(env->key, env->val, 1);
}
static inline int test_run_child(const struct test *t, int fdout[2],
#define S_TC_INIT_MODULE_RETCODES "TESTSUITE_INIT_MODULE_RETCODES"
#define S_TC_DELETE_MODULE_RETCODES "TESTSUITE_DELETE_MODULE_RETCODES"
+struct keyval {
+ const char *key;
+ const char *val;
+};
struct test {
const char *name;
testfunc func;
const char *config[_TC_LAST];
const char *path;
+ const struct keyval *env_vars;
bool need_spawn;
bool expected_fail;
};